首页 > 解决方案 > @Input=Function(Params1,Params2) 总是在单击任何位置 Angular 时调用

问题描述

我有comp-chil

`@Input() ObjectChild:any;`

亲本

<comp-child [ObjectChild]=checkValue(0,1)></comp-child>
checkValue(p1, p2){ return {p1:p1*(dosomething), p2:p2*dosomething};

它仍然有效,但是当我单击任何地方时,函数 checkValue 总是调用。

标签: angularinput

解决方案


这就是 Angular 变化检测的工作原理。

在模板中调用函数是个坏主意。

您可能需要重写代码以使用:

  1. agetter服务于您的目的
  2. 让孩子决定如何处理该值。
  3. pipe如果您确实必须这样做,请使用在模板中执行逻辑。管道结果被记忆,所以如果输入值没有改变,它们不会重做函数逻辑。

推荐阅读