简单的导航步骤,我需要等待直到完成,为了使模式有它就是我们的导航页面上的模板。
public onOpenModal(item) {
this.router.navigate([item.link]).then(() => {
this.modal.open('createSpace'); // Error: Uncaught (in promise): Error: Modal not found
});
this.modal.open('createSpace'); // works fine
}
出于某种原因,当我CAL this.modal.open()内则()阻止它的错误了。我怀疑一个范围的问题吗?有任何想法吗?如果我叫外面的modal.open(),那么()阻止它的工作原理,但我需要等待导航跳完成。
编辑:我认为,模板还没有完全加载中...也许这就是为什么模态不能被发现......才有意义。
有没有办法真正等待模板做好准备?
这很奇怪。真的不知道为什么,这是摆在首位的问题。但是请你尝试这样做,看看它的工作原理:
async onOpenModal(item) {
await this.router.navigate([item.link]);
this.modal.open('createSpace');
}
以下是为您的参考一Working Sample StackBlitz。
注意:您真的不规定什么该模式是,让我在这个例子中使用NGX自举模式。但是,应该在你的情况下,预期的那样很好地工作。