angularjs学习系(3)指令的@=

1:先说指令域scope的@

    我觉得描述很费劲,直接用代码来阐述:

    angularjs.html

    


               //这个必须指定的,这里的title是指令里scope的@对应的,t就是控制域scope下的我的angularjs
 



   main05.js

var myApp=angular.module('myApp',[]);
myApp.controller('listCtrl',function($scope){$scope.logchore="motorola";
});myApp.directive('kid',function(){return {'restrict':'E',scope:{title:"@"},template:'{{title}}'}
});
在输入框输入数字会绑定到指令模板的title中。

2:再说说Scope的=

   angularjs.html

   


              //和上面相比,这个直接赋值等于scope域下的t了

{{title}}

我的angularjs
   

main05.js代码如下:

   

var myApp=angular.module('myApp',[]);
myApp.controller('listCtrl',function($scope){$scope.logchore="motorola";
});myApp.directive('kid',function(){return {'restrict':'E',scope:{title:"="},template:'{{title}}'}
});

3:最后说&,这个是用来方法调用的

    

angularjs.html代码如下:

   


              //先比=,函数赋值的形式,而logchore函数必须是域scope下声明的函数
 



main05.js代码如下:

var myApp=angular.module('myApp',[]);
myApp.controller('listCtrl',function($scope){$scope.logchore=function(){alert('ok');};
});myApp.directive('kid',function(){return {'restrict':'E',scope:{flavor:"&"  },template:''}
});

如果logchore带有参数,

angularjs.html代码如下:


               



main05.js代码如下:

var myApp=angular.module('myApp',[]);
myApp.controller('listCtrl',function($scope){$scope.logchore=function(x){alert(x);};
});myApp.directive('kid',function(){return {'restrict':'E',scope:{flavor:"&"},template:'     '}
});



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部