什么时候可以使用Angular onpush通知策略?

时间:2018-02-28 00:00:04

标签: javascript html angular

假设我们有一个类似下面的计数器组件,它知道如何改变它的状态,并且可以有一个触发increment()函数的按钮等。

    @Component({...})
    export class CounterComponent {

    @Input()
    count: number = 0;

    increment() {
        this.count++;
    }

    decrement() {
        this.count--;
    }

  }

这是否会使其免于OnPush通知策略?换句话说,符合OnPush条件的组件必须不会改变自己的状态。

1 个答案:

答案 0 :(得分:1)

由于counter是数字但不是object,因此它的值将被复制到子组件。所以在里面改变它不会影响changeDetection机制。 Bacuse onpush trategy仅从父视角的输入值变化开始变化检测。因此,如果在组件内部更改计数器时需要视图反射 - 请使用默认更改策略。

相关问题