Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问隔离范围之外的数据_Javascript_Angularjs_Angularjs Directive_Angularjs Scope - Fatal编程技术网

Javascript 访问隔离范围之外的数据

Javascript 访问隔离范围之外的数据,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,所以我有这样一种情况,我有一个带有隔离作用域的指令。据我所知,我被限制在指令中的这个作用域内,但我想知道是否有一种方法可以从父作用域访问(更改)数据,而不必使用属性绑定来隔离作用域?这是我试图编辑的代码: 您将看到,它现在实际上适用于angular 1.0.8,但不适用于1.2.8(如预期的那样)。我很困惑它如何适用于1.0.8,scope。resizeGridColumns是否在父作用域(MyCtrl)中?因此,我需要帮助使此代码在1.2.x中工作(只需在脚本标记中从1.0.8更改为1.2.

所以我有这样一种情况,我有一个带有隔离作用域的指令。据我所知,我被限制在指令中的这个作用域内,但我想知道是否有一种方法可以从父作用域访问(更改)数据,而不必使用属性绑定来隔离作用域?这是我试图编辑的代码:


您将看到,它现在实际上适用于angular 1.0.8,但不适用于1.2.8(如预期的那样)。我很困惑它如何适用于1.0.8,
scope。resizeGridColumns
是否在父作用域(MyCtrl)中?因此,我需要帮助使此代码在1.2.x中工作(只需在脚本标记中从1.0.8更改为1.2.8)

对于您的第一个问题,请查看以下内容:


而且,如果没有属性绑定,您可以放置
scope:true
,它为指令创建一个新的作用域,该指令原型继承自父作用域。

我实际上最终使用了scope:true,并使其在1.2.x中以这种方式工作。再次浏览代码后,我对正在发生的事情有了更好的理解,但现在我不明白为什么它在1.2.x中失败此指令中的继承范围使用双向绑定(=),但resizeGridColumns实际上是在继承范围中创建的,而不是更新绑定?你能解释一下吗?你能发一个关于这个问题的帖子吗?我不明白你的问题。我指的是你用链接回答的第一个问题。解释指令中没有说明属性绑定,实际上就是这样。绑定在1.2.x中没有更新。在继承的范围中有一个绑定,resizeGridColumns:“=”,然后在代码scope.resizeGridColumns=scope.resizeGridColumnsSet.allColumns.So中,scope.resizeGridColumns实际上不是更新绑定,而是在作用域上创建新属性。