如何实现变化检测以便给定的示例有效
How to implement change detection so the given example works
在此 example 中,更改检测尚未实现,翻转按钮不起作用。我将不胜感激关于如何着手实施它的提示。该模型是需要驱动应用程序外观的 class。
我使用 *ngIf 从 DOM 中删除了 div 元素。
<div *ngIf="show">
查看有关 ngIf 的更多详细信息here
这里有趣的一点是 ngIf 不仅会隐藏 DOM 节点,还会破坏它(将其从 DOM 中删除)。一旦条件为真,将创建新实例。
完成后。我把它加回去,这样指令将再次添加到新创建的元素中。并且它的生命周期钩子 ngAfterViewInit 将被触发。参见 docs
ngOnInit() {
console.log(`SomeComponent[${this.randomNumber}]::ngOnInit`);
}
ngAfterViewInit() {
console.log(`SomeComponent[${this.randomNumber}]::ngAfterViewInit`);
}
ngOnDestroy() {
console.log(`SomeComponent[${this.randomNumber}]::ngOnDestroy`);
console.log('');
}
这是一个简单的 example 来查看这些挂钩的实际效果。
在此 example 中,更改检测尚未实现,翻转按钮不起作用。我将不胜感激关于如何着手实施它的提示。该模型是需要驱动应用程序外观的 class。
我使用 *ngIf 从 DOM 中删除了 div 元素。
<div *ngIf="show">
查看有关 ngIf 的更多详细信息here
这里有趣的一点是 ngIf 不仅会隐藏 DOM 节点,还会破坏它(将其从 DOM 中删除)。一旦条件为真,将创建新实例。
完成后。我把它加回去,这样指令将再次添加到新创建的元素中。并且它的生命周期钩子 ngAfterViewInit 将被触发。参见 docs
ngOnInit() {
console.log(`SomeComponent[${this.randomNumber}]::ngOnInit`);
}
ngAfterViewInit() {
console.log(`SomeComponent[${this.randomNumber}]::ngAfterViewInit`);
}
ngOnDestroy() {
console.log(`SomeComponent[${this.randomNumber}]::ngOnDestroy`);
console.log('');
}
这是一个简单的 example 来查看这些挂钩的实际效果。