在 Angular 中,组件可以作为@Input()
变量或对象接收。每当变量发生变化时,Angular 都会通知组件。很酷...
我正在尝试构建一个ng2-tree
在左侧显示视图和在右侧显示编辑视图的应用程序。当用户单击树中的一个节点时,该项目的详细信息将显示在右侧,用户可以更改该项目的属性。我需要的是让这些更改传播回树。
树中的各个节点是ItemTreeNode
:
export class ItemTreeNode implements TreeModel {
value: string;
id: string;
children: Array<ItemTreeNode>;
icon: string;
settings: TreeModelSettings;
loadChildren;
constructor(
private itemService: ItemService,
private parent_id: string,
public item: Item
){ ... }
}
树呈现.value
用于名称的节点。这是在构造函数期间通过调用设置的this.item.nodeName()
。一旦设置,它就不会改变。问题是,每当更改项目时,它都需要更改。
我正在寻找的是一种在项目更改时通知此对象的方法,以便value
可以更新属性。
ItemTreeNode
作为 Angular 更改检测周期的一部分, 有没有办法“监视”该项目并在它发生变化时接收回调?
还是有更好的方法来实现所需的行为?