如何检测@Input()值在Angular2中何时更改

前端之家收集整理的这篇文章主要介绍了如何检测@Input()值在Angular2中何时更改前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个父组件(CategoryComponent),一个子组件(videoListComponent)和一个ApiService。

我有大部分工作正常,即每个组件可以访问json api,并通过observables获取其相关数据。

目前视频列表组件只是获取所有视频,我想过滤这只是特定类别的视频,我实现了这一点通过@Input()传递categoryId给孩子。

CategoryComponent.html

<video-list *ngIf="category" [categoryId]="category.id"></video-list>

这工作,当父类CategoryComponent类别更改,然后categoryId值通过@Input()传递,但我需要检测这个在VideoListComponent和重新请求视频数组通过APIService(与新的categoryId)。

在angular1我会做一个$ watch的变量。什么是最好的办法来处理这个?

在组件中使用ngOnChanges()生命周期方法

ngOnChanges is called right after the data-bound properties have been
checked and before view and content children are checked if at least
one of them has changed.

这里是Docs

猜你在找的Angularjs相关文章