0

当前行为

我创建了一个 ngx-datatable,其中有一列里面有一个按钮。当我使用数据表加载路线时,此按钮单击工作正常。这个按钮的作用是路由到单击元素的另一个“详细信息页面”。

但是当我加载相同的路线并首先滚动数据表然后单击相同的按钮时,它不再起作用了。路线不变。但是,当我单击浏览器上一个按钮,然后单击前进按钮时,会显示“DetailPage”。

图像和代码

所以第一张图片显示了带有 ngx-datatable 的新加载的组件。当我单击红色按钮(标记)时,路由器会转到另一个页面并且工作正常(见图 2)。

新加载的组件

不滚动的结果

但是,当我重新运行应用程序并在组件加载后向下滚动一点时(参见图 3)。相同的按钮不再起作用,但是如果我执行上述技巧(首先单击上一个,然后在浏览器导航中前进),它确实会加载所需的路线。

新加载的组件和滚动 结果我在滚动后单击时得到

在按钮 Click 上执行的方法:

goToDetailOfWearable(wearable: ResultWearable) {
this.resultService.sendResultWearableToService(wearable);
this.router.navigateByUrl('Home/ProcessCategory/Processes/Activities/Result/Details'); }

wearable 参数是行,第一行将此行发送到服务,第二行路由到“详细信息页面”

4

1 回答 1

0

它似乎与区域有关。如果您强制操作在区域内运行,它会起作用:

this.zone.run(() => this.router.navigateByUrl('Home/ProcessCategory/Processes/Activities/Result/Details'); });
于 2018-03-12T18:21:11.447 回答