我并不认为我能够比标题中已有的更多地阐明,这是一个相当自我描述的问题。
说我有这种结构:
<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
是您想要重新加入的范围。我还没有看到过使用Angular可以提及的内容。
我真的需要致电$parent.$parent.$parent
吗?
答案 0 :(得分:2)
我真的需要致电
$parent.$parent.$parent
吗?
没有
<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>
它们都继承自顶级范围。
如果您担心名称空间冲突,请检查controllerAs
语法:
<div ng-controller="ParentCtrl as parent">
{{parent.property}}
<div ng-controller="ChildCtrl as child">
{{parent.property}}
{{child.property}}
</div>
</div>
如果您在不同范围内存在冲突属性,会发生什么?哪个被选中?
最低级别的人。