angular - 如何实现变更检测以使给定的示例有效
问题描述
在此示例中,未实现更改检测,并且翻转按钮不起作用。我将不胜感激有关如何实施它的提示。模型是需要驱动应用程序外观的类。
解决方案
我使用 *ngIf 从 DOM 中删除该 div 元素。
<div *ngIf="show">
在此处查看有关 ngIf 的更多详细信息
这里有趣的一点是,ngIf 不仅会隐藏 DOM 节点,还会销毁它(将其从 DOM 中删除)。一旦条件成立,就会创建新的实例。
一旦完成。我将它添加回来,这样指令将再次添加到新创建的元素中。它的生命周期钩子 ngAfterViewInit 将被触发。查看文档
ngOnInit() {
console.log(`SomeComponent[${this.randomNumber}]::ngOnInit`);
}
ngAfterViewInit() {
console.log(`SomeComponent[${this.randomNumber}]::ngAfterViewInit`);
}
ngOnDestroy() {
console.log(`SomeComponent[${this.randomNumber}]::ngOnDestroy`);
console.log('');
}
这是一个简单的例子,可以看到这些钩子的作用。
推荐阅读
- ssl - 如何从根证书生成公共证书、私钥?
- python - 将 Python 参数传递给模块
- ruby-on-rails - 在 Rails 中根据 url 应用锚标签
- bash - Shell 脚本命令超时
- javascript - React Routing - 如何使用路由加载弹出窗口
- javascript - 将 JSON 数据从 Python 发送到 Javascript 并访问它们。
- jquery - 如何通过使用委托展开和折叠父母和孩子来使用 jquery 创建自定义手风琴
- hardware - 如果我们直接将外围电路用于微处理器会发生什么?
- javascript - 以角度 6 绑定来自服务的图像
- react-native - 一起使用 Tab 和 Stack Navigator