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