Angular2,为啥每次移动鼠标时都会调用函数

Posted

技术标签:

【中文标题】Angular2,为啥每次移动鼠标时都会调用函数【英文标题】:Angular2, why functions are called each time I move the mouseAngular2,为什么每次移动鼠标时都会调用函数 【发布时间】:2016-11-29 18:04:00 【问题描述】:

我使用 Angular2 种子 (https://github.com/mgechev/angular2-seed),但遇到了问题。

确实,在我的模板 html 中,我使用了一些绑定,例如 test 和组件中的变量 test,以及调用 getTest() 函数的 getTest()。

如果我在 getTest() 中使用控制台日志,则每次移动鼠标时都会得到一个日志。

这是期望的行为吗?

我在想只有当值发生变化时它才会更新,就像观察者一样。 我每次都必须使用观察者来避免这个调用吗?

谢谢。

【问题讨论】:

【参考方案1】:

Angular2 更改检测会检查绑定是否在每次运行时都更新,并且通常在触发监听的事件时运行。

这就是不鼓励在绑定中使用方法调用的原因。

【讨论】:

感谢您的回答,所以我将使用 Observer 代替这种绑定 Observable 通常是个好主意。您还可以将值分配给属性并绑定到该属性。

以上是关于Angular2,为啥每次移动鼠标时都会调用函数的主要内容,如果未能解决你的问题,请参考以下文章

为啥ajax调用在每次调用时都会输入成功和错误块?

为啥这个函数每次运行时都会将对象两次附加到数组中?

为啥每次渲染都会调用 `useEffect` 的清理功能?

为啥我的函数每次调用时都会创建一个新对象?

每次设置状态时都会调用 Flutter 函数

每次Navigator.push到下一页时都会调用的回调