【不定时更新】《AngularJS权威教程》简要笔记
第 1 章 初识 AngularJSAngular基于MIT许可,开源框架。
第 2 章 数据绑定和第一个 AngularJS Web应用Angular插件小于100K,大约70K左右,引用即可使用。非常方便 src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.13/angular.js"> </script>``` ```<h1>Hello {{ name }}</h1>``` 使用{{}}模板符号 <div class="se-preview-section-delimiter"></div> ##经典的双向绑定示例 <div class="se-preview-section-delimiter"></div> ```<div ng-controller='MyController'> <input ng-model="person.name" type="text" placeholder="Your name"> <h1>Hello {{ person.name }}</h1>
javascript代码 function MyController($scope,$timeout) {
var updateClock = function() {
$scope.clock = new Date();
$timeout(function() {
updateClock();
},1000);
};
updateClock();
};
这个写法挺有意思,使用timeout代替setInterval $apply版function MyController($scope) {
var updateClock = function() {
$scope.clock = new Date();
};
setInterval(function() {
$scope.$apply(updateClock);
},1000);
updateClock();
};
第 3 章 模块声明模块angular.module('myApp',[]);
两个参数,第一个参数是模块名(ng-app属性定义);第二个参数是依赖列表,字符串数组 angular.module('myApp',[])//引用模块
.run(function($rootScope) {
$rootScope.name = "World";
});
第 4 章 作用域(scope)Angular启动并生成视图时,自动为ng-app和
可以在模板中使用的标记
$scope的生命周期当angular认为$scope已经无用时,会自动销毁。 $scope.$destory()
指令一般不会自动创建$scope,除了ng-controller,ng-repeat 第 5 章 控制器控制器的初始化,可以这样写,但不建议写太多这样的全局变量 function FirstController($scope) {
$scope.message = "hello";
}
更佳的方式创建一个模块 var app = angular.module('app',[]);
app.controller('FirstController',function($scope) {
$scope.message = "hello";
});
控制器可以嵌套,$scope中定义的项在查找时与js语法相近,从最近的作用域逐层向外查找。 //简洁的控制器
angular.module('myApp',[]) .controller('MyController',function($scope,UserSrv) {
// 内容可以被指令控制
$scope.onLogin = function(user) {
UserSrv.runLogin(user);
};
});
第 6 章 表达式Angular表达式的特性
|