angular_directive的controllerAs

 1 来看例子
 2 angular.module("app",[]) 
 3 .controller("demoController",["$scope",function($scope){ 
 4     $scope.title = "angualr"; 
 5  }])  
 6 
 7 
 8  <div ng-app="app" ng-controller="demoController"> hello : {{title }} ! </div>
 9 
10 对于view与controller的绑定一般使用内置service  $scope
11 
12 在angurlar1.2+版本以后加入了controllerAs语法
13 angular.module("app",[]) 
14 .controller("demoController",[function(){ 
15 this.title = "angualr"; 
16 }])  
17 <div ng-app="app" ng-controller="demoController as demo"> hello : {{demo.title}} ! </div>
18 这里我们可以看见现在controller不再有$scope的注入了,感觉controller就是一个很简单的平面的JavaScript对象了,不存在任何的差别了。再则就是view上多增加了个demoController as demo,给controller起了一个别名,在此后的view模板中靠这个别名来访问数据对象。
19 controller内部的this指向view视图的demo
20 
21 angular源码:
22 if (directive.controllerAs) { locals.$scope[directive.controllerAs] = controllerInstance; }
23 将controllerAs绑定到了$scope对象上

 

posted @ 2015-12-12 15:36  Evans.wang  阅读(185)  评论(0编辑  收藏  举报