Angular2 Функция вызова при изменении входа

Детский компонент:

export class Child {
    @Input() public value: string;
    public childFunction(){...}
}

Родительский компонент:

export class Parent {
    public value2: string;
    function1(){ value2 = "a" }
    function2(){ value2 = "b" }
}

Родительский вид:

<child [value]="value2">

Есть ли способ вызвать childFunction() каждый раз, когда значение2 изменяется в этой структуре?

Ответ 1

Вы можете использовать привязку ngOnChanges() жизненного цикла

export class Child {
    @Input() public value: string;

    ngOnChanges(changes) {
      this.childFunction()
    }
    public childFunction(){...}
}

или используйте сеттер

export class Child {
    @Input() 
    public set value(val: string) {
      this._value = val;
      this.childFunction();
    }
    public childFunction(){...}
}