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>