我有一个深层嵌套的数组如下
mainarray[]:{
array1[]:{sub1_array1[]:{},sub2_array1:{}},
array2[]
... // and so on
}
因为我在 init 上检索主数组,我如何推送 sub2_array1 更新的值?但由于在更改视图呈现和 ui 状态更改,包括一些活动的类组件。那我该如何维持呢?我读了一些关于pipes
但changedetectorRef
不知道如何使用它的东西?提前致谢。
我有一个深层嵌套的数组如下
mainarray[]:{
array1[]:{sub1_array1[]:{},sub2_array1:{}},
array2[]
... // and so on
}
因为我在 init 上检索主数组,我如何推送 sub2_array1 更新的值?但由于在更改视图呈现和 ui 状态更改,包括一些活动的类组件。那我该如何维持呢?我读了一些关于pipes
但changedetectorRef
不知道如何使用它的东西?提前致谢。
您的数组/对象出了点问题。并tsc
抱怨它。请检查https://stackoverflow.com/a/37824284/1267942
pipes
很活泼,和 and没有关系changedetectorRef
,你只需要正确声明你的模型。
更新:这里有几件事:
正确的父子组件交互方式https://angular.io/docs/ts/latest/cookbook/component-communication.html#
具有多个嵌套组件的通用数据模型:
在父组件中声明一个类成员,比如
model: Array<string> = [];
在模板中使用双向绑定将其传递给子组件
<child-component [(modelInChild)]="model"></child-component>
在子模型变量中应声明为
@Input() modelInChild: Array<string> = [];
然后你可以以同样的方式将变量进一步传递给孩子的孩子。
使用这种方法,您将model
在整个组件树中拥有公共数据。但是,不推荐这种方法:它很慢,很难跟踪 a 的值model
等。
组件可以将自己用作子组件。我还没有尝试过这种方法,但是javascript 中的 Angular2 递归模板看起来很有前途。
对于Collapsible
组件检查Angular 2 阅读更多指令