1.4 控制器:Controller
- ng 中的控制器用来对 scope 进行操作
- 包括初始化数据和定义事件响应函数等
- ng 用来解耦业务逻辑层和视图层的关键
- controller 操作 scope,View 则展现 scope 的内容
- 传统前端程序中大量复杂的 DOM 操作逻辑都被转变成对 scope 的操作
定义控制器的三种方式
定义控制器可以有三种方式,注意第一种已经被淘汰。
第一种:传统方式,使用全局函数定义控制器:
function DemoCtrl($scope) {
// code here
}
第二种:挂载在某个模块下
angular.module('DemoApp', [])
.controller('DemoCtrl', function ($scope) {
// code here
})
第三种:最正确的方式
// 解决因为代码压缩造成注入对象失败问题的方式就是将第二个参数换成一个数组
angular.module('DemoApp', [])
.controller('DemoCtrl', ['$scope', '$log', function ($scope, $log) {
// code here
}])
如何划分控制器
一个页面中,按照不同的功能业务划分不同的控制器。