@Input()值

时间:2017-06-30 15:13:54

标签: angular

我有一个子组件,它通过@Input()接收一些值:

<my-component
    [model]="node"
    [required]="isRequired()"
>
</my-component>
正如您所见,

[required]会传递isRequired()方法的返回值。 但它可能会变得非常饥渴,所以我想限制查询的频率。

是否有某种方法可以配置角度调用的频率isRequired()

1 个答案:

答案 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();
  }
}