Stackblitz:示例
根据以下文档:https ://angular.io/api/core/ViewChildren
您可以使用 ViewChildren 从视图 DOM 中获取元素或指令的 QueryList。每当添加、删除或移动子元素时,查询列表都会更新,查询列表的可观察更改将发出一个新值。
我理解这意味着我可以订阅更改并期望在 QueryList 中的项目被“添加、删除或移动”时准确地发出一个值。
但是,如果我在组件中有一个 *ngIf 指令可以打开和关闭,我会changes在绝对没有“添加、删除或移动”的情况下收到一个事件。
浏览以下文章:https
://blog.angularindepth.com/everything-you-need-to-know-about-change-detection-in-angular-8006c51d206f
我发现以下内容:
更新当前视图组件实例上的 ViewChildren 查询列表
这是否意味着只要“添加、删除或移动”项目或在更改检测周期期间,视图子项更改就会触发?
我不了解这里的基本内容。文档是否含糊不清,是否有错误,我做错了什么?有人可以帮我理解这里发生了什么吗?
所有代码都位于 stackblitz 中:https ://stackblitz.com/edit/angular-wtcgdk