【发布时间】:2022-05-01 07:46:46
【问题描述】:
我最近发布了一个新组件,它似乎每秒会触发多次更改检测:
// some debugging code
ngDoCheck() {
console.log('DO_CHECK', new Date().toLocaleTimeString());
}
结果:
我还没有弄清楚是什么触发了这个。
我是否正确阅读此输出?每秒会触发多次更改检测?
有什么好的方法可以找出在 Angular 2 应用程序中触发变更检测的原因吗?
【问题讨论】:
-
如何在
ndDoCheck中设置断点并查找它的来源? -
如果我表现得无知,请原谅我,但是,您如何在编译后的代码中找到断点?
-
如果你使用 Angular CLI,它在后台使用 webpack 并创建源映射,即使浏览器运行 JS,你也可以调试 typescript。在 Chrome 开发面板中转到 Sources,在左侧找到 webpack,展开它,然后展开文件夹。 (点)。 TypeScript 源代码在那里,您可以设置断点。
-
非常感谢@YakovFain
-
我对另一个类似问题的回答:stackoverflow.com/a/54134894/1678151
标签: angular