Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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 如何访问控制器';从两次或三次嵌套的ng重复作用域中删除s作用域?_Javascript_Angularjs_Angularjs Scope - Fatal编程技术网

Javascript 如何访问控制器';从两次或三次嵌套的ng重复作用域中删除s作用域?

Javascript 如何访问控制器';从两次或三次嵌套的ng重复作用域中删除s作用域?,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,我真的不认为我能解释的比我在标题中已经解释的更多,这是一个相当自我描述的问题 假设我有这样的结构: <div ng-repeat="type in types"> <div ng-repeat="subtype in type.subtypes"> <div ng-repeat="item in subtype.items"> <span>How to access Controller scope here?</

我真的不认为我能解释的比我在标题中已经解释的更多,这是一个相当自我描述的问题

假设我有这样的结构:

<div ng-repeat="type in types">
  <div ng-repeat="subtype in type.subtypes">
    <div ng-repeat="item in subtype.items">
        <span>How to access Controller scope here?</span>
    </div>
  </div>
</div>

如何在此处访问控制器作用域?
在范围内,如何访问控制器上的原始范围?

在Knockout中,您可以执行
$parents[i]
操作,其中
i
是您希望返回的多个作用域。我还没有看到有人提到这一点

我真的必须调用
$parent.$parent.$parent.$parent

我真的必须调用
$parent.$parent.$parent.$parent

否:


如果在不同的作用域中有冲突的属性,会发生什么情况?哪个会被选中


最低级别的一个。

ngRepeat作用域都从其父级继承,因此您仍然可以访问任何级别的作用域属性。如果在不同的作用域中有冲突的属性,会发生什么情况?选择哪一个?内部的一个显然是Lyrefer,正如您所知,angular作用域在原型继承上起作用。在您的情况下,所有三个ngRepeat都从父控制器继承作用域,因此您仍然可以在任何级别访问属性。如果您有具有相同属性的嵌套控制器,但这可以通过Controllera解决,则可能会出现问题
<div ng-repeat="type in types">
  <div ng-repeat="subtype in type.subtypes">
    <div ng-repeat="item in subtype.items">
        {{type}} {{subtype}} {{item}}
    </div>
  </div>
</div>
<div ng-controller="ParentCtrl as parent">
    {{parent.property}}
  <div ng-controller="ChildCtrl as child">
    {{parent.property}}
    {{child.property}}
  </div>
</div>