关于 angular 小心得

心得1:

//控制器里面的代码会晚一些执行

setTimeout(function(){

//获取对象的scope

 var ele = document.querySelector('[ng-controller=mycontroller]');
 var $scope = angular.element(ele).scope();
 $scope.myFunc();

},10)

  

控制器里面的代码会延迟执行,所以同一个js文件中,如果要通过DOM元素查找到对应控制器上的scope然后调用方法时,需要将查找的代码延迟执行。

 

心得2:

每当申明一个控制器都需要将$scope注入到控制器中,比如

var app = angular.module("myApp",[]);

app.controller("myController",function($scope){

  $scope.name = "Mona";

})

  

其实,可以将上述代码中的$scope用this代替,即

var app = angular.module("myApp",[]);

app.controller("myController",function(){

  this.name = "Mona";

})

  

 

angular还有链式写法,将上述代码改成下面的写法:

angular.module("myApp",[]).controller("myController",function($scope){

$scope.name = "Mona";

})

  

 

心得3:

angular中的一些常识

ng-class = "{active:isSelected(1)}"

此时angular可以监听class为active的样式类,当active冒号后面的值为true时active有效,为false时无效

ng-show = "isSeleted(1)"

此时 angular 可以控制绑定有ng-show的DOM元素的显示和隐藏,当ng-show=" a "  中a的值为true时就显示该DOM元素,当a的值为false时隐藏该DOM元素。

 

posted @ 2015-12-30 14:13  青草圆  阅读(198)  评论(0编辑  收藏  举报