angular - 行数据中的 ag-grid routerlink 导致模板中断

标签 angular angular2-routing ag-grid

您好,我在 ag-grid 表中的导航按钮遇到问题。当将用户路由到不同的组件时,显示会中断。请参见下面的屏幕截图: This display is incorrect

现在,如果我单击页面上的任意位置,它会正确显示(这是不正确的功能。我希望在组件登陆时显示正确的模板)。请参见下面的屏幕截图: This is the correct display 我有一个 grid.component,网格的所有配置都在其中进行,并且我实现了一个 cellRendererFramework 来合并一个用于编辑网格行的按钮。这是我对编辑按钮组件的实现:

  this.columns.push({
    headerName: '#',
    cellRendererFramework: ActionButtonRendererComponent,
    field: '_actions',
    width: 300,
  });
  this.gridOptions.columnDefs = this.columns;

在这个简单的ActionButtonRendererComponent中,我有一个模板,显示一个简单的超链接以及相关且正确的路线

<a class="btn btn-primary btn-sm mr-2 mb-2" routerLink="/to/my/route" type="button"><i aria-hidden="true" class="fa fa-edit"></i></a>

最终结果是我的网格如下所示: Grid View 现在,如果我单击蓝色编辑按钮,就会发生这种意外行为(正如我上面所描述的和相关的屏幕截图)。奇怪的是,如果我在网格行之外创建一个超链接,实现相同的路线 /to/my/route 它可以完美地工作并正确加载相关的组件模板,而不需要额外的单击。

这种行为太奇怪了,我无法理解。任何帮助将不胜感激。

最佳答案

发现了一些 hacky 解决方案。 您应该将运行时与 NGZOne“同步”。

this.ngZone.run(() => {
  this.router.navigate([url, paramValue]);
});

关于angular - 行数据中的 ag-grid routerlink 导致模板中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45717091/

相关文章:

css - 如何更改Ag网格边框颜色?

ag-grid:需要将多个字段聚合到一个单元格内的表格中

javascript - Angular ag-grid : "Could not find component class XXX, did you forget to configure this component" 出错

angular - 从 Angular2 应用程序将文件上传到 Lumen API

javascript - 无法上传文件并将其转换为 base64string

javascript - 何时在 Angular 2 中使用 @angular 标签?

angular - 进行硬刷新时,路由对我不起作用

javascript - 使 Material 选项卡可滚动

javascript - 在没有jquery的情况下缩小一个div

Angular 4 上下文在身份验证后丢失