Javascript 侦听组件以获取角度8中的change@Input()值
嗨,我有这个组件。在这个组件中,我有Javascript 侦听组件以获取角度8中的change@Input()值,javascript,angular,typescript,Javascript,Angular,Typescript,嗨,我有这个组件。在这个组件中,我有@Input()userId:number[]=[]用于将id列表发送到此组件 我在其他组件中使用此组件,例如,我在news组件中使用它: <kt-user-post-list-select [userId]="noWriterIdList" (selectedUserId)="getSelectionUserList($event)"> </kt-user-post-list-select> 但它不起任何作用 我如何解决这个问题??
@Input()userId:number[]=[]代码>用于将id列表发送到此组件
我在其他组件中使用此组件,例如,我在news
组件中使用它:
<kt-user-post-list-select [userId]="noWriterIdList" (selectedUserId)="getSelectionUserList($event)">
</kt-user-post-list-select>
但它不起任何作用
我如何解决这个问题???有两种方法
使用ngOnChanges
hook-inkt用户帖子列表选择组件。因此,您可以侦听新ID并执行函数validateUserWriter
。但请记住,这会带来牺牲性能的代价
使用Subject
订阅新ID,并执行函数validateUserWriter
。在这种情况下,您不需要@Input
装饰器。请参考这个简单的例子
有两种方法
使用ngOnChanges
hook-inkt用户帖子列表选择组件。因此,您可以侦听新ID并执行函数validateUserWriter
。但请记住,这会带来牺牲性能的代价
使用Subject
订阅新ID,并执行函数validateUserWriter
。在这种情况下,您不需要@Input
装饰器。请参考这个简单的例子
您可以使用Subject,然后使用next方法发送新到达的数据@PrashantPimpale和我如何判断执行此函数的方法:validateUserWriter()
在使用SubjectBehavior时,有一个名为subscribe的有用方法,您需要调用该方法,在该函数中,您可以调用该方法,如果您提供stackblitz演示,上述代码将对您有所帮助@PrashantPimpale您可以使用Subject,然后使用next方法发送新到达的数据@PrashantPimpale和我如何判断执行此函数的方法:validateUserWriter()
在使用SubjectBehavior时,有一个名为subscribe的有用方法,您需要调用该方法,在该函数中,您可以调用该方法,如果您提供stackblitz演示,上述代码将对您有所帮助@普拉尚特皮普尔
validateUSerIsWriter(ids: number[]): void {
for (let id = 0; id < ids.length; id++) {
let user = this.users.find(x => x.userId = id);
if (user != null) {
user.isDeleted = true;
}
}
}