AngularJS 学习笔记2-MVC,$scope,$watch

模块(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);
});

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...