文章详情页
angular.js - angularjs中自定义指令scope的问题
问题描述
angularjs中自定义的指令中scope的值为{}创造了一个隔离作用域,但依然能访问到父级作用域中的属性,怎么回事?(隔离作用域应该不能访问父级作用域的属性啊,在没有进行绑定策略之前)
问题解答
回答1:先说一点你这个例子里也没给scope属性赋值啊。scope属性三种取值:true,false,{}。false是默认值。
默认情况,false。此时,子作用域和父作用域是一个,scope.$$id的值一样。
为true时是创建一个新作用域,scope.$$id值不同了。不过此作用域继承自父作用域。 就是和原生js作用域链的特性相同,子作用域可访问父作用域中的属性和方法,父作用域不可访问子作用域的属性属性和方法。
为{}时,是真正的隔离。这时自定义指令的作用域和父作用域完全没关系了。但如果你还要访问父作用域的属性方法怎么办,就把相应的属性配置在{}中。具体配置方法题主自行谷歌百度吧。
回答2:同一个控制器里都可以访问到,不同的控制器就访问不到
回答3:你没有隔离呀,隔离的话要加scope:{}
回答4:隔离scope有两种方式:
scope: truescope: {}
上一条:angular.js - ng-repeat嵌套的directive link函数未执行下一条:angular.js - Angularjs 怎么把select写成固定的 根据接口地址提交给后台?
相关文章:
1. 求解答:访问不了虚拟服务器的问题?2. javascript - 关于一段 for 循环代码执行顺序的问题3. java - 3个dao的数据根据请求参数选择一个映射到一个url上,怎么写比较好?4. docker网络端口映射,没有方便点的操作方法么?5. 请问连接文件怎么写6. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?7. docker-machine添加一个已有的docker主机问题8. docker 17.03 怎么配置 registry mirror ?9. 在mac下出现了两个docker环境10. javascript - 读取页面源码,页面中所有的换行都被当成<br/>读取出来 了,,求解应该怎么让它被正确的解析
排行榜