angular directive详解之scope
scope是控制directive中的变量与引用directive的controller之间的关系的重要属性。其有四种修饰符
- =表示共享某个变量
Two-way model binding - &表示共享某个方法(回调)
Callback method binding - @表示传递某个值
Attribute string binding
如果不写scope,默认与controller共享scope
例:
contoler数据:{{myData}}
点击改变按钮时,contorller和diretive中的myData都变成了ha ha ha。共享scope时(即不隔离),diretive可以完全使用,覆盖controller的变量和方法,反之也一样。当然这样在实际项目中会造成灾难性的影响,官方也不建议这样做。英文原文是:
scope:{},即最简单的隔离,contoller和directive使用完全不同的scope,互不影响.
contoler数据:{{myData}}
controller中的myData和directive中的myData不同,点击改变按钮也没用。 =示例
contoler数据:{{myData}}
点击改变按钮,controller和directive的myData都变成了ha ha ha;
@示例
contoler数据:{{myData}}
此例中,directive的myData值为ba ba ba。点击改变按钮,directive的myData为ha ha ha,controller的myData不受影响。
&示例:
contoler数据:{{myData}}
点击改变按钮,controller的myData变成ha ha ha。directive的myData不受影响。 注意directive中调用共享的方法的时候,传值是一个object, key为参数名.
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
