我有两个组件,其中一个组件具有一个模式,该模式在用户单击按钮后显示。该模式有一个material table
,它显示一些数据。第一次运行应用程序时,我转到具有模态的组件,单击按钮,即使我无限关闭并重新打开模态,也能够看到渲染的表。
但是,如果我离开了具有模态的组件,请转到没有模态的组件,重新输入具有模态的组件,单击按钮并打开模态,{{ 1}}仅会在单次点击时显示(渲染),即使点击不会在表格上显示任何数据...
数据正确传递并且填充了表的数据源,只是由于某种原因而无法呈现。
我通过服务将material table
数据从无模态的组件传递给具有模态的组件,并通过material table
事件从具有模态的组件传递给模态本身。每次单击按钮时,都会正确触发@Input
事件,并填充@Input
。
我尝试过material table
的{{1}},但没有成功。
没有模态的组件似乎并没有影响任何东西,但是“破坏”(离开了)具有模态的组件,所以我只展示该组件和模态中的代码。
MyComponent.component.ts
ChangeDetectorRef
此组件中的所有内容均按预期工作,我发送的数据是正确的数据,并且已成功到达模式。
MyComponent.component.html
detectChanges()
MyModal.component.ts
private newProductRequest = [];
private onNewProductRequest(el: any) {
$('.modal').modal('hide');
this.newProductRequest = {...el};
$('#createNewProductRequestModal').appendTo("body").modal('toggle');
}
更新:
所以我注意到的是,如果我离开拥有模态的组件并重新输入,则模态不会被正确破坏,因为如果我现在返回带有模态的组件并打开它,我打开一个新的模态和旧的模态...为什么会这样?