0

所以我有这种情况,我有隔离范围的指令。从我的理解,我被限制在这个范围内的指令,但我想知道是否有可能访问(更改)来自父级作用域的数据没有属性绑定来隔离作用域?这是我想要编辑的代码:访问隔离范围以外的数据

http://plnkr.co/edit/tdJCtP7FJVZn28FPAuv3?p=preview

你会看到,它的实际工作,现在有角1.0.8,但不能与1.2.8(预期)。我”米混淆它如何可以工作在1.0.8,scope.resizeGridColumns是在父范围(MyCtrl)?所以,我需要帮助,使在1.2.x的此代码的工作(刚刚从1.0.8改为1.2.8脚本标签)

回答

0

关于第一个问题检查了这一点:https://stackoverflow.com/a/19945278/1140134

而且,没有属性绑定,你可以放scope: true,它为从父范围原型继承的指令创建一个新的范围。

+0

我实际上最终使用了scope:true,并使它在1.2.x中以这种方式工作。再次查看代码,我更好地理解了发生了什么,但现在我不明白为什么它在1.2中失败.x我的意思是继承范围在这个指令中使用2-way绑定(=),但resizeGridColumns实际上是在继承范围内创建的,而不是更新绑定?你能解释一下吗? – Zed

+0

你可以发布一个闯入者的问题吗?我不明白你的问题。 – javaCity

+0

我指的是我的第一个问题,你回答了链接。说明中没有提到指令中的属性绑定,实际上这里是这种情况。绑定不会在1.2.x中得到更新。在继承范围中有绑定,resizeGridColumns:'=',然后在代码scope.resizeGridColumns = scope.resizeGridColumnsSet.allColumns.So中,而不是更新绑定,scope.resizeGridColumns实际上在范围上创建新属性。 – Zed