Angular 当内部状态改变时,如何触发角度控制器方法?
当内部数据模型发生变化时,使角度分量调用绑定方法(在本例中为Angular 当内部状态改变时,如何触发角度控制器方法?,angular,typescript,Angular,Typescript,当内部数据模型发生变化时,使角度分量调用绑定方法(在本例中为isItemExpended)的最佳方法是什么 打字稿 @组件({ ... }) 导出类ItemsComponent实现OnInit{ ... 私有expandedItems:项[]=[]; 公共isItemExpanded(项:项):布尔值{ 返回此.expandedItems.indexOf(项)>-1; } ... } HTML ... 注意:在我的解决方案中,isItemExpanded的实现有点复杂,这就是HTML中没有
isItemExpended
)的最佳方法是什么
打字稿
@组件({
...
})
导出类ItemsComponent实现OnInit{
...
私有expandedItems:项[]=[];
公共isItemExpanded(项:项):布尔值{
返回此.expandedItems.indexOf(项)>-1;
}
...
}
HTML
...
注意:在我的解决方案中,
isItemExpanded
的实现有点复杂,这就是HTML中没有直接包含条件的原因。这里更改的是哪个数据模型?只需调用changedetoref.markForCheck方法进行FireChangeDetection
@Component({
...
})
export class ItemsComponent implements OnInit {
...
constructor(private cd: ChangeDetectorRef){}
private expandedItems: Item[] = [];
public isItemExpanded(item: Item): boolean {
return this.expandedItems.indexOf(item) > -1;
}
private listenModel() {
model.changed$.subscribe() {this.cd.markForCheck()}
}
...
}