一尘不染

给定父范围,获取Angularjs中的所有子范围

angularjs

我想知道如何在给定父范围的情况下获取所有子范围的列表。我可以从该范围的属性中找到$ childHead,$ childTail,$
nextSibling和$$ prevSibling。

我现在使用的方法是从父级获取childHead,然后使用nextSibling获取下一个孩子,直到nextSibling为空。

有没有更好的方法?鉴于我想在所有子项上调用方法[getModel],是否又有更好的方法呢?


阅读 222

收藏
2020-07-04

共1个答案

一尘不染

子指令使用隔离范围,因此它们具有自己的值,这些值对父指令不可见。我想从父范围访问这些值。

处理“需要访问子范围的父范围”问题的“角度方式”是将模型上移到父范围,并让子范围引用父属性/数据(而不是子范围具有自己的属性/数据)本地属性/副本)。

使用伪指令,首先在父作用域中定义一个对象数组,然后使每个孤立的子作用域使用“
=”符号(即双向数据绑定符号)访问该父作用域数组(或单个对象)。因为对象是共享对象,所以隔离的作用域将引用父对象(它们将不会获得本地副本)。现在,您对子范围属性所做的任何更改实际上都是在更改父范围属性。

2020-07-04