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-in
    kt用户帖子列表选择组件。因此,您可以侦听新ID并执行函数
    validateUserWriter
    。但请记住,这会带来牺牲性能的代价

  • 使用
    Subject
    订阅新ID,并执行函数
    validateUserWriter
    。在这种情况下,您不需要
    @Input
    装饰器。请参考这个简单的例子

  • 有两种方法

  • 使用
    ngOnChanges
    hook-in
    kt用户帖子列表选择组件。因此,您可以侦听新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;
    
            }
        }
    }