@angle中的输入绑定检测变化

时间:2019-05-17 15:47:47

标签: angular

我需要检测@Input装订角中的值变化,并在值更改时执行功能

@Component({
  selector: 'my-comp',
  ...
})
...
@Input() myValue

//detect myValue changes

<my-comp [myValue]= "val"></my-comp>

val更改时,我需要执行一些代码组件类。

2 个答案:

答案 0 :(得分:2)

您可以在此处简单地使用set,就像这样:

_myvalue: any;
@Input() set myValue(value: any) {
    ... // Your code goes here
    this._myvalue = value;
}

现在,每次在模板中为myValue分配一个值时,都会调用setter并执行代码。

希望对您有帮助!

答案 1 :(得分:1)

您可以在角度中使用ngOnChange生命周期挂钩以获取高级功能。

export class MyCoponent implements OnChanges{

@Input() myValue

ngOnChanges(changes:SimpleChange){

 //current value
 let currentVal= changes.myValue.currentValue
 // previouse value
 let prev = changes.previousValue
}

ngOnChanges函数在myValue

中发生任何更改时执行