我有一个子组件,它通过@Input()
接收一些值:
<my-component
[model]="node"
[required]="isRequired()"
>
</my-component>
正如您所见, [required]
会传递isRequired()
方法的返回值。
但它可能会变得非常饥渴,所以我想限制查询的频率。
是否有某种方法可以配置角度调用的频率isRequired()
?
答案 0 :(得分:0)
不,没有办法做到这一点。 Angular为父组件创建一个工厂,该组件包含MyComponent
updateDirectives
函数,该函数在检查父组件时在每个更改检测周期调用。有关详细信息,请阅读sandwich((?:(?!forbidden).)*?)(ham|turkey)(.*?)(?!\2)(ham|turkey)
。您无法专门为绑定禁用更改检测。如果分离变化检测器,则不会执行The mechanics of property bindings update in Angular。
您可能要做的是在父组件上创建提供者服务,并让您的子MyComponent
组件注入它并在需要时查询isRequired
。这些方面的东西:
@Component({template: `<my-component...>`, provider: [SomeService]})
export class ParentComponent {}
@Component({})
export class MyComponent {
constructor(service: SomeService) {
service.isRequired();
}
}