controlleras”是Angular在1.2版本后新增的语法,我将从引用方式,作用范围,对象对比三个方面做两者的比较:
@H_301_16@ @H_301_16@ 引用方式: @H_301_16@ 1)$scope只需要在注入中声明,后面就可以直接在附加数据对象: @H_301_16@ controller:function ACtrl($scope) { $scope.test = "一个例子"; //在$scope对象中加入test }
<div ng-controller="ACtrl"> {{test}} </div>
function BCtrl() { var vm = this; this.test = "一个例子"; //在this对象中加入test }
<!-- vm为自己为当前控制器作的一个简略记号,也可以写作 BCtrl as b,后面变量便可以在b中引出 如b.test --> <div ng-controller="BCtrl as vm"> {{vm.test}} </div>
function ParentCtrl($scope) { $scope.test = "测试"; $scope.cover ="覆盖测试"; } function ChildCtrl($scope) { $scope.cover ="子覆盖测试"; var test = $scope.test; //“测试” }