Я беру @Input () из родительского компонента и использую ngOnChanges, чтобы уловить изменение. Но срабатывает только один раз. Он изменяет текущее значение, но предыдущее значение всегда не определено. Вот что я делаю:
myArray=[];
ngOnChanges(changes:SimpleChanges):void{
console.log(changes);
if(changes.myInput.currentValue != undefined && changes.myInput.currentValue != changes.myInput.previousValue){
for(var i=0;i<this.changes.myInput.currentValue.length;i++){
console.log("length is" , i);
this.myArray.push(this.changes.myInput.currentValue);
}
}
}
Здесь console.log(changes)
встречается только один раз. Хотя значение внутри него меняется каждый раз при изменении @Input()
. Мой myInput.currentValue
- это массив, и я хочу что-то делать каждый раз, когда новый объект помещается в массив через @Input()
от родителя. Это не go внутри условия if, и я не могу найти длину.