让我们说我需要根据一些数值输出一个图标。例如:1 - 红色图标,2 - 蓝色图标,3 - 绿色图标等。我想只有演示文稿,不需要存储状态以供任何使用,图标的状态(或数值)将不要改变。
我想知道实现这种演示输出的最佳方法是什么?
目前我使用的是管道:
<div [innerHtml]="1 | numberToIcon"></div>
这种语法很难记住。所以我想用一个组件替换它:
<my-icon value="1" />
但我担心使用该组件会使Angular轨道组件成为状态。而且我不想为此浪费记忆。
有没有&#34;光&#34;组件方式?也许组件没有状态?
答案 0 :(得分:0)
您可以使用
@Component({
...,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class MyIconComponent {
constructor(this.cdRef:ChangeDetectorRef) {
}
ngOnInit() {
cdRef.detach();
}
}
OnPush
仅在输入更改或调用偶数处理程序或显式调用时才会发生更改检测。
如果你拆开变化探测器,那么Angular就不应再对该组件进行任何变化检测。