Stackblitz:example
根据以下文档: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