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()}
  }
  ...
}