Angular模态框内嵌同组件触发父组件订阅回调问题排查
问题原因分析
- 模态框
ActivityParamModalComponent的HTML中使用<activity>标签,会创建一个全新的ActivityComponent实例,而非复用当前父组件的实例。 - 这个新实例会执行自身的
OnInit生命周期钩子:初始化FormGroup并订阅其valueChanges。Angular中,FormGroup的valueChanges在表单初始化完成后会默认触发一次(即使没有手动修改值),因此会触发回调里的日志打印和getTimeline方法调用。 - 如果你看到两次日志输出,是因为父组件实例初始化时触发了一次,模态框内的新实例初始化时又触发了一次。
内容的提问来源于stack exchange,提问作者kamilws
相关产品推荐
相关产品推荐

