Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
AngularJS¿ò¼Ü֪ʶµã»ã×Ü
 
  3308  次浏览      27
  2019-7-18
 
±à¼­ÍƼö:
±¾ÎÄÀ´×Ôcsdn£¬±¾ÎÄÖ÷Òª½éÉÜÁËAngularJSÊÇʲô£¬ÒÔ¼° À©Õ¹Ö¸ÁîµÄ¸÷¸ö±êÇ©½âÊÍ£¬Ï£Íû±¾ÎĶÔÄúµÄѧϰÓÐËù°ïÖú¡£

1.AngularJSÊÇʲô£¿

ËüÊÇGoogle¿ª·¢µÄÒ»¿î¾ßÓÐMVC½á¹¹µÄǰ¶Ë¿ò¼Ü¡£ÔÚAngular Ó¦ÓÃÖУ¬ÊÓͼ²ã¾ÍÊÇDOM£¬¿ØÖÆÆ÷¾ÍJavaScript À࣬ģÐÍÊý¾Ý´æ´¢ÔÚ¶ÔÏóÊôÐÔÖС£

2.Êý¾Ý°ó¶¨

ͨ¹ýÉùÃ÷½çÃæµÄijһ²¿·ÖÓ³Éäµ½ JavaScript µÄÊôÐÔ£¬ÈÃËûÃÇ×Ô¶¯µÄͬ²½£¬ÕâÖÖ±à³Ì·½Ê½¾ÍÊÇÊý¾Ý°ó¶¨¡£²»ÐèÒª¶Ô×Ö¶Î×¢²á¼àÌýÆ÷£¬¾Í¿ÉÒÔ×öµ½¶ÔÏóÊôÐÔÓë½çÃæÏÔʾͬ²½±ä»¯¡£

3.ÒÀÀµ×¢Èë

²»ÐèÒªÖØÐ´´½¨¶ÔÏ󣬽«ÐèҪʹÓõĶÔÏó$scope»ò$loaction°´ÕÕÒÔÏ·½Ê½×¢Èëµ½¹¹Ô캯ÊýÖС£Õâ¾ÍÊÇÒÀÀµ×¢Èë¡£

function HelloController($scope, $location) {
$scope.greeting = { text: 'Hello' };
// use $location for something good here...
}

4.Ö¸Áî

¿ò¼ÜµÄºËÐIJãÓÐÒ»¸öÇ¿´óµÄ DOM ת»»ÒýÇæ£¬¿ÉÒÔÈÃÄã À©Õ¹ HTML Óï·¨¡£HTMLÖеÄng-controllerÊÇÓÃÀ´Ö¸¶¨Äĸö¿ØÖÆÆ÷À´·þÎñÄĸöÊÓͼ£¬ng-model½«Ò»¸öÊäÈë¿ò°ó¶¨µ½Ä£ÐͲ¿·Ö¡£ ÎÒÃdzÆÕâЩ½Ð HTML À©Õ¹Ö¸Áî¡£

5.ÒÀ¾ÝʾÀý½âÊ͸÷¸ö±êÇ©

<!DOCTYPE html>
<html ?ng-app>
<head>
<base/>
<title>Your Shopping Cart</title>
<script src="../frm/angular/angular.js"></script>
</head>
<body ng-controller='CartController'>
<h1>Your Order</h1>
<div ng-repeat='item in items'>
<span>{{item.title}}</span>
<input ng-model='item.quantity'/>
<span>{{item.price | currency}}</span>
<span>{{item.price * item.quantity | currency}}</span>
<button ng-click="remove($index)"> Remove </button>
</div>
<script>
function CartController($scope) {
////@formatter:off
$scope.items = [{
title : 'Paint pots',
quantity : 8,
price : 3.95
}, {
title : 'Polka dots',
quantity : 17,
price : 12.95
}, {
Title : 'Pebbles',
quantity : 5,
price : 6.95
}];
////@formatter:on
$scope.remove = function(index) {
$scope.items.splice(index, 1);
};
}
</script>
</body>
</html>

ÒÀÕÕÉÏÃæµÄ´úÂ룬¶Ô¹Ø¼üÄÚÈÝ×ö¸ö½âÊÍ£º

1£©<html ng-app>

ng-app ÊôÐÔ¸æËß AngularËüÓ¦¸Ã¹ÜÀíÒ³ÃæµÄÄÄÒ»²¿·Ö¡£ÓÉÓÚÎÒÃǰÑËü·ÅÔÚ htmlÔªËØÉÏ£¬¸æÖª Angular¹ÜÀíÕû¸öÒ³Ãæ¡£Èç¹ûÄãÕýÔÚ¼¯³É AngularºÍÒ»¸öÒÑ´æÔÚµÄʹÓÃÆäËû·½Ê½¹ÜÀíÒ³ÃæµÄÓ¦Óã¬ÄÇôÄã¿ÉÄÜÐèÒª·ÅÔÚÓ¦ÓÃµÄ divÉÏ¡£

2£© <body ng-controller='CartController'>

ÔÚ Angular ÖУ¬ÓÃJavaScript Àà¹ÜÀíµÄÒ³ÃæÇøÓò½Ð×ö¿ØÖÆÆ÷¡£Í¨¹ýÔÚbody ±êÇ©Öаüº¬Ò»¸ö¿ØÖÆÆ÷£¬ÉùÃ÷µÄCartController ½«¹ÜÀíbody ±êǩ֮¼äµÄÈκζ«Î÷¡£

3£© <div ng-repeat='item in items'>

ng-repeat ´ú±íΪ itemsÊý×éÖÐÿ¸öÔªËØ¿½±´Ò»´ÎÕâ divÖÐµÄ DOM¡£ÔÚdiv ÿ´Î¿½±´ÖУ¬Í¬Ê±ÉèÖÃÁËÒ»¸ö½Ðitem µÄÊôÐÔ´ú±íµ±Ç°µÄÔªËØ£¬ËùÒÔÎÒÃÇÄܹ»ÔÚÄ£°åÖÐʹÓá£ÕýÈçÄã¿´µ½µÄ£¬Ã¿¸ödiv Öж¼°üº¬Á˲úÆ·Ãû³Æ£¬ÊýÁ¿£¬µ¥¼Û£¬×ܼۺÍÒ»¸öÒÆ³ý°´Å¥¡£

4£© <span>{{item.title}}</span>

ÕýÈçÑÝʾµÄ¡®Hello World¡¯Ê¾Àý£¬Êý¾Ý°ó¶¨ÊÇͨ¹ý{{ }}°Ñ±äÁ¿µÄÖµ²åÈëµ½Ò³ÃæÄ³²¿·ÖºÍ±£³Öͬ²½¡£ÍêÕûµÄ±í´ïʽ{{item.title}}¼ìË÷µü´úÖеĵ±Ç°ÏȻºó½«µ±Ç°ÏîµÄtitile ÊôÐÔÖµ²åÈëµ½DOM ÖС£

5£© <input ng-model='item.quantity'>

ng-model ¶¨Òå´´½¨ÁËÊäÈë×Ö¶ÎºÍ item.quantityÖ®¼äµÄÊý¾Ý°ó¶¨¡£span±êÇ©ÖеÄ{{ }}½¨Á¢ÁËÒ»¸öµ¥ÏòÁªÏµ£¬ÔÚÕâÀï²åÈëÖµ¡£µ«ÊÇÓ¦ÓóÌÐòÐèÒªÖªµÀµ±Óû§¸Ä±äÊýÁ¿Ê±£¬Äܹ»¸Ä±ä×ܼۣ¬ÕâÊÇÎÒÃÇÏëÒªµÄЧ¹û¡£Í¨¹ýʹÓÃng-model ÎÒÃǽ«ÓëÎÒÃǵÄÄ£Ðͱ£³Öͬ²½¸ü¸Ä¡£ng-modelÉêÃ÷½« item.quantityµÄÖµ²åÈëµ½ÊäÈë¿òÖУ¬ÎÞÂÛºÎʱÓû§ÊäÈëÒ»¸öÐÂÖµ½«×Ô¶¯¸üÐÂitem.quantity¡£

6£©<span>{{item.price | currency}}</span>

ÎÒÃÇÏ£Íûµ¥¼Û¸ñʽ»¯³ÉÃÀÔªÐÎʽ¡£Angular ´øÓÐÒ»¸ö½Ð¹ýÂËÆ÷µÄÌØÐÔ£¬Äܹ»ÈÃÎÒÃÇת»»Îı¾£¬ÓÐÒ»¸ö½Ð currency µÄ¹ýÂËÆ÷½«ÎªÎÒÃÇ×öÕâ¸öÃÀÔªÐÎʽ¸ñʽ»¯¡£

7£©<button ng-click="remove($index)"> Remove </button>

µã»÷Õâ¸ö°´Å¥¾Í¿ÉÒÔµ÷Óà remove()º¯Êý¡£Í¬Ê±´«µÝÁË$index£¬Õâ¸ö°üº¬ÁËng-repeat µÄµü´ú˳Ðò£¬ÒÔ±ãÖªµÀÒªÒÆ³ýÄÄÒ»Ïî¡£

8£©function CartController($scope) {

CartController ¹ÜÀíÕ⹺Îï³µµÄÂß¼­¡£Í¨¹ýÕâ¸öÎÒÃǸæÖª Angular¿ØÖÆÆ÷

ÐèÒªÒ»¸ö½Ð$scope µÄ¶ÔÏó¡£$scope¾ÍÊÇÓÃÀ´°ÑÊý¾Ý°ó¶¨µ½½çÃæÉϵÄÔªËØµÄ¡£

9£©$scope.remove = function(index)

{$scope.items.splice(index, 1);

};

ÎÒÃÇÏ£Íû remove()º¯ÊýÄܹ»°ó¶¨µ½½çÃæÉÏ£¬Òò´ËÎÒÃÇÒ²°ÑËüÔö¼Óµ½$scopeÖС£¶ÔÓÚÕâ

¸öÄÚ´æÖеĹºÎï³µ°æ±¾£¬remove()º¯ÊýÖ»ÊÇ´ÓÊý×éÖÐɾ³ýÁËËüÃÇ¡£ÒòΪͨ¹ýng-repeat ´´½¨

µÄÕâЩ<div>ÊÇÊý¾ÝÀ¦°óµÄ£¬µ±Ä³ÏîÏûʧʱ£¬Áбí×Ô¶¯ÊÕËõ¡£¼Çס£¬ÎÞÂÛºÎʱÓû§µã»÷ÒÆ³ý

°´Å¥ÖеÄÒ»¸ö£¬¶¼½«´Ó½çÃæÉϵ÷Óà remove()º¯Êý¡£

6.µ÷ÓÃ Angular

ÈκÎÓ¦ÓÃʹÓà Angular ±ØÐë×öÁ½¼þÊ£º

1£©¼ÓÔØ angular.js

2£©Ê¹Óà ng-app¸æÖª Angular¹ÜÀíÄÄÒ»²¿·ÖµÄ DOM

7.¼ÓÔØ½Å±¾

ºÜ¼òµ¥£º

ÍÆ¼öʹÓà Google µÄCDN¡£GoogleµÄ·þÎñÆ÷ÊǷdz£¿ìµÄ£¬½Å±¾ÊÇ¿çÓ¦Óûº´æµÄ¡£ÄǾÍÊÇ˵£¬Èç¹ûÄãµÄÓû§Óжà¸öʹÓà AngularµÄÓ¦Óã¬ËüÖ»ÏÂÔØÒ»´Î¡£Í¬Ñù£¬Èç¹ûÓû§·ÃÎʹýʹÓÃGoogle AngularµÄ CDNÁ´½Ó£¬ÄÇôµ±Ëû·ÃÎÊÄãµÄÕ¾µãʱûÓбØÒªÔÙ´ÎÏÂÔØ¡£

8.Ä£¿é

<html ng-app='myApp'>
<body ng-controller='TextController'>
<p>{{someText.message}}</p>
<script??src="https://ajax.googleapis.com/ajax/libs
/angularjs/1.0.1/angular.min.js"></script>
<script>
var myAppModule = angular.module('myApp', []);
myAppModule.controller('TextController',
function($scope) {
var someText = {};
someText.message = 'You have started your journey.';
$scope.someText = someText;
});
</script>
</body>
</html>

ÔÚÕâ¸öÄ£°åÖУ¬ÎÒÃǸæÖª ng-app ÔªËØÎÒÃǵÄÄ£¿éÃû£¬myApp¡£È»ºóÎÒÃǵ÷ÓÃÁËAngular¶ÔÏó´´½¨Ò»¸öÃûΪmyApp µÄÄ£¿é£¬´«µÝÁË¿ØÖÆÆ÷º¯Êý¸øÄ£¿éµÄ¿ØÖÆÆ÷º¯Êý¡£

Ö»Òª¼Çס£¬Ô¶ÀëÈ«¾ÖÃüÃû¿Õ¼äÊÇÒ»¼þºÃÊ¡£Ä£¿é»¯ÕâÊÇÎÒÃÇͨÓõĻúÖÆ¡£

9.Ä£°åºÍÊý¾Ý°ó¶¨

Angular Ó¦ÓÃÖеÄÄ£°åÖ»ÊÇÄÇЩÎÒÃÇ´Ó·þÎñÆ÷¼ÓÔØµÄ HTMLÎĵµ»òÕßÊǶ¨ÒåÔÚ<script>±êÇ©ÖеÄһЩ¾²Ì¬×ÊÔ´¡£ÄãÔÚÄ£°åÖж¨Òå½çÃæ£¬ÔÚ½çÃæ×é¼þÖÐʹÓñê×¼µÄHTML ¼ÓÉÏAngular±êʶ·û¡£

»ù±¾µÄÆô¶¯Á÷³Ì¾ÍÏñÕâÑù£º

1£©Óû§ÇëÇóÓ¦ÓõĵÚÒ»Ò³Ãæ¡£

2£©Óû§µÄä¯ÀÀÆ÷·¢³öÒ»¸ö HTTPÁ´½Óµ½Äã·þÎñÆ÷£¬¼ÓÔØ°üº¬Ä£°åµÄ index.htmlÒ³Ãæ¡£

3£©Angular¼ÓÔØµ½Ò³Ã棬µÈ´ýÒ³ÃæÍêÈ«¼ÓÔØÍê³É£¬È»ºóѰÕÒ ng-app¶¨ÒåÄ£°åµÄ±ß½ç¡£

4£©Angular¾­¹ýÄ£°åѰÕÒ±êʶ·ûºÍÀ¦°ó¡£ÕâÑùµÄ½á¹ûÊǼàÌýÆ÷ºÍ DOM²Ù×÷Íê³ÉÁË×¢²á£¬Í¬Ê±´Ó·þÎñÆ÷²éѯ³õʼ»¯Êý¾Ý¡£Õâ¿é¹¤×÷µÄ×îÖÕ½á¹ûÊÇÓ¦ÓÃÍê³ÉÁË×Ô¾Ù£¨Æô¶¯Íê³É£¬¼ÆËã»úרҵÓÃÓ£¬¾ÍÏñDOM Ò»Ñù½«Ä£°åת»»³ÉÊÇÊÓͼ¡£

5£©ÄãÁ¬½Óµ½·þÎñÆ÷°´Ðè¼ÓÔØÄã¶îÍâÐèҪչʾ¸øÓû§µÄÊý¾Ý¡£

ͨ¹ýʹÓà Angular ½á¹¹»¯ÄãµÄÓ¦Óã¬Ó¦ÓóÌÐòµÄÄ£°åºÍÌî³äËüÃǵÄÊý¾ÝÊÇ·ÖÀ뿪µÄ¡£ÕâÑùµÄºÃ´¦¾ÍÊÇÕâЩģ°åÏÖÔÚ¿É»º´æÁË¡£ÔÚµÚÒ»´Î¼ÓÔØºó£¬Ö»ÓÐÐÂÊý¾Ý¼ÓÔØµ½ä¯ÀÀÆ÷¡£Ö»ÓÐJavaScript£¬Í¼Æ¬£¬CSSºÍÆäËû×ÊÔ´£¬»º´æÕâЩģ°å¿ÉÒÔ¸øÓ¦ÓøüºÃµÄÐÔÄÜ¡£

10.ng-bind ±êʶ·ûÏÔʾºÍ¸üÐÂÎı¾

ng-bindÓë{{}}µÈÁ½ÖÖ·½Ê½ÔÚÏÔʾÎı¾ÉÏÊǵȼۡ£²»Í¬µÄÊÇng-bind·½Ê½ÊÇÖ±µ½Êý¾Ý¼ÓÔØ£¬Óû§²ÅÄÜ¿´µ½ÄÚÈÝ¡£

11.src ºÍ ºÍ hrefÊôÐԵĽ¨Òé

µ±Êý¾Ý°ó¶¨µ½Ò»¸ö<img>»ò<a>±êǩʱ£¬ÔÚsrc»òÕßhrefÖÐʹÓÃ{{}}µÄ·¾¶²»Äܹ»Õý³£ÔËÐС£

È»¶ø£¬ÄãÓ¦¸ÃÓà ng-src ÊôÐÔ£¬ÓëÖ®ÀàËÆ£¬<a>±êÇ©£¬ÄãÓ¦¸ÃʹÓÃng-href

12.$route·þÎñ

Route ¿ÉÒÔΪһ¸ö¸ø¶¨µÄä¯ÀÀÖ¸ÏòURLÏêϸָ¶¨ AngularÄܹ»¼ÓÔØºÍÏÔʾһ¸öÄ£°å£¬ÊµÀý»¯Ò»¸ö¿ØÖÆÆ÷Ϊģ°åÌṩÉÏÏÂÎÄ¡£

µ±URLÊÇ/Find/activityDetailʱ£¬Angular½«¼ÓÔØÄ£°åµØÖ·Îª£ºFind/views/activityDetail.html¡£otherwise()¸æËß·ÓÉÈç¹ûûÓÐÆ¥Åäµ½¾Í×ßÕâÒ»¶Î¡£

13.ÓÃÖ¸ÁîÐÞ¸ÄDOM

var ?appModule ?= ?angular . module ( 'app' , []);
appModule . directive ( 'ngbkFocus' , function () {
return {
link : function ( scope , element , attrs , controller) ?{
element [ 0 ]. focus ();
}
};
});

14.УÑéÓû§ÊäÈë

Ä£°å´úÂ룺

<h1> Sign Up </h1>
<form ?name='addUserForm' ng-controller= "AddUserController" >
<div ng-show='message'>{{message}}</div>
<div> First ?name: <input ?name= 'firstName' ng-model= 'user.first' required ></div>
<div>Last name: <input ?ng-model='user.last' ?required ></div>
<div>Email: <input ?type='email' ng-model='user.email' ?required ></div>
<div>Age: <input type= 'number'
ng-model= 'user.age' ?ng-maxlength= '3'
ng-min= '1' ></div>
<div><button ?ng-click='addUser()'
ng-disabled= '!addUserForm.$valid' > Submit </button>
< /ng-form>

¿ØÖÆÆ÷£º

function AddUserController ( $scope ) {
$scope . message = ?'' ;
$scope . addUser = function ?() {
// ?TODO for ?the reader: actually ?save user to database...
$scope . message = 'Thanks, ' ?+ ?$scope . user . first + ?', ?we added ?you!' ;
};
}

˵Ã÷£º

ʹÓÃÁËÀ´×Ô HTML5 µÄrequired ÊôÐÔ£¬emailÀàÐÍ¡¢numberÀàÐ͵ÄÊäÈë

¿ò£¬ÔÚһЩ×Ö¶ÎÉÏ×öÎÒÃǵÄУÑé¡£

ÔÚ¿ØÖÆÆ÷ÄÚ²¿£¬¿ÉÒÔͨ¹ý$valid ÊôÐÔÀ´·ÃÎÊ±íµ¥µÄУÑé״̬¡£µ±±íµ¥ÖÐËùÓеÄÇëÇó¶¼ÊǺϷ¨Ê±£¬Angular »á°ÑËüÉèÖÃ³É true¡£ÎÒÃÇ¿ÉÒÔʹÓÃ$validÊôÐÔÀ´×ö¶îÍâµÄÊ£¬±ÈÈçµ±±íµ¥»¹Î´Íê³Éʱ½ûÓÃÌá½»°´Å¥¡£

ͨ¹ý¸öÌåÌá½»°´Å¥Ìí¼Ó ng-disbaled£¬Äܹ»×èÖ¹·Ç·¨×´Ì¬µÄÌá½»¡£

15.¡®use strict¡¯ÊÇʲôÒâ˼

¡°use strict¡±ÊÇÒ»¸öÖ¸Áָʾ½âÊÍÆ÷ÓøüÑϸñµÄ·½Ê½¼ì²é´úÂë¡£"use strict"¿ªÆôÑϸñģʽÒÔºó£¬Ò»Ð©jsÔã¸âµÄÌØÐÔ¶¼»á±»½ûÓ㬱ÈÈç²»ÄÜÓÃwith£¬Ò²²»ÄÜÔÚÒâÍâµÄÇé¿öϸøÈ«¾Ö±äÁ¿¸³Öµ¡£ÑϸñģʽϵÄevalº¯ÊýµÄÐÐΪºÍ·ÇÑϸñģʽµÄÒ²²»Ïàͬ¡£

16.factory,service,provider×Ô¶¨Òå·þÎñ£¬services.js

1)ÓÃFactory¾ÍÊÇ´´½¨Ò»¸ö¶ÔÏó£¬ÎªËüÌí¼ÓÊôÐÔ£¬È»ºó°ÑÕâ¸ö¶ÔÏ󷵻سöÀ´¡£Äã°Ñ service´«½ø controllerÖ®ºó£¬ÔÚ controllerÀïÕâ¸ö¶ÔÏóÀïµÄÊôÐԾͿÉÒÔͨ¹ý factoryʹÓÃÁË¡£

2)ServiceÊÇÓÃ"new"¹Ø¼ü×ÖʵÀý»¯µÄ¡£Òò´Ë£¬ÄãÓ¦¸Ã¸ø"this"Ìí¼ÓÊôÐÔ£¬È»ºóservice ·µ»Ø"this"¡£Äã°Ñservice ´«½øcontroller Ö®ºó£¬ÔÚcontrollerÀï"this" ÉϵÄÊôÐԾͿÉÒÔͨ¹ýservice À´Ê¹ÓÃÁË¡£

3)ProvidersÊÇΨһһÖÖÄã¿ÉÒÔ´«½ø .config() º¯ÊýµÄservice¡£µ±ÄãÏëÒªÔÚservice ¶ÔÏóÆôÓÃ֮ǰ£¬ÏȽøÐÐÄ£¿é·¶Î§µÄÅäÖã¬ÄǾÍÓ¦¸ÃÓÃprovider¡£

 

 
   
3308 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì