离开组件并再次输入后,为什么模态会停止工作?

时间:2019-06-11 10:01:14

标签: javascript angular

我有两个组件,其中一个组件具有一个模式,该模式在用户单击按钮后显示。该模式有一个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');
}

更新

所以我注意到的是,如果我离开拥有模态的组件并重新输入,则模态不会被正确破坏,因为如果我现在返回带有模态的组件并打开它,我打开一个新的模态和旧的模态...为什么会这样?

0 个答案:

没有答案