大家好,
我正面临一个问题,因为我是Angular的新手,所以可能是我所缺少的。
在我的应用程序中,无论发生任何更改,都将调用子组件ngOnChanges之一,在下面的屏幕快照中,您将发现changes对象的所有currentValues和previousvalues属性都是相同的。
让我知道我是否想念一些东西。
也请参考以下代码
谢谢
从'@ angular / core'导入{组件,输入,SimpleChanges,OnInit}; 从@ angular / core / src / metadata / lifecycle_hooks'导入{OnChanges,OnDestroy};
@Component({
selector: 'xxxxxx',
templateUrl: './result.component.html',
styleUrls: ['./result.component.css']
})
export class ResultComponent implements OnInit, OnChanges, OnDestroy {
@Input()
searchResults: SearchResults.SearchResult;
@Input()
searchText: string;
@Input()
loading: boolean = false;
ngOnInit() {
var logger = "stop me debugger";
}
ngOnChanges(changes: SimpleChanges) {
if (changes.searchResults && !changes.searchResults.firstChange) {
}
}
ngOnDestroy(): void {
var logger = "stop me debugger";
}
constructor() {
}
}
答案 0 :(得分:0)
生命周期挂钩ngOnChanges
:
当Angular(重新)设置数据绑定的输入属性时响应。该方法接收当前和先前属性值的
SimpleChanges
对象。
在ngOnInit()
之前以及每当一个或多个数据绑定输入属性更改时调用。
由于此,并且您的某些属性是输入,因此ngOnChanges
被调用。这就是previousValue
对象的currentValue
和为SimpleChanges
的原因。