模块(Module)
AngularJS很重要的一个特性就是实现模块化编程,我们可以通过以下方式创建一个模块,对页面进行功能业务上的划分
// 创建一个名字叫MyApp的模块,第二个参数指的是该模块依赖那些模块
var myApp = angular.module("MyApp",[]);
也可以将重复使用的指令或过滤器之类的做成模块便于复用
注意必须指定第二个参数,否则变成找到已经定义的模块
视图(View)
用于如何向用户展示数据
控制器(Controller)
var myApp = angular.module("MyApp",[]);
// angular在执行控制器函数时,
// 会根据参数的名字($scope)去自动的注入对象
// 根据参数名称传递对应对象,所以必须要写正确的参数名称
// 由于压缩代码会改变参数名称,注册控制的标准方式就是通过第二个参数传递数组的方式(数组的成员最后一个就是原本的控制器函数,前面的成员都是需要注入的对象名称)
myApp.controller('HelloController',['$scope',function($scope) {
$scope.p = {name: 'MyName'};
}
]);
$scope(上下文模型)
视图和控制器之间的桥梁 用于在视图和控制器之间传递数据 利用$scope暴露数据模型(数据,行为)
$watch(监视函数)
//第一个参数是被监视的数据
//第二个参数是回调函数,该函数两个参数分别为现在的值(now),以前的值(old)
$scope.$watch('user.username',function(now,old) {
// 当user.username发生变化时触发这个函数
console.log('now is ' + now);
console.log('old is ' + old);
});