单击表格行时启动ngOnInit

时间:2017-09-19 20:42:31

标签: angular

我有一个网格,如果我点击该行,则会出现弹出窗口。在这个弹出窗口中,我有两个选项卡,其中一个以这种方式加载

2000

在这个组件里面我有

    <div id="menu2" class="tab-pane fade">
        <app-user-groups [userId]="userModel.ID_User"></app-user-groups>
    </div>

然后奇怪的事情发生了。首先,只是在加载网格时,

@Input()
userId: number;


ngOnInit() {
    this.getUserGroups(this.userId);
}

也启动,userId设置为undefined。如何使ngOnInit仅在我点击表格的行时启动?

1 个答案:

答案 0 :(得分:1)

这是因为userId是异步加载的,所以当视图最初呈现时,this.userId是未定义的。 您基本上只是根据原始值(未定义)看到onInit调用。

试试这样:

@Input()
userId: number;


ngAfterViewInit() {
    this.getUserGroups(this.userId);
}