在使用pushstate激活的aurelia中使用子路由器时出现奇怪的浏览器同步行为

时间:2017-07-18 14:14:02

标签: aurelia browser-sync html5-history

我在aurelia路由器上启用了pushState,并设置了root。

config.options.pushState = true;
config.options.root = '/vNext';

我已经设置了一个基本的href:

<head>
    <base href="/vNext/" />

在我的页面中,我嵌套了一个子路由器,其中包含从“”到列表

的重定向

app.ts:

config.map([
  { route: '', redirect: 'child-router-1' }, ...

child-router-1.ts:

 config.map([
      { route: '', redirect: 'list' }, ...

什么有用

  • 重新加载有效,在更改文件时,所有浏览器窗口都会正确地重新加载。
  • 浏览器同步:同步点击非链接元素(例如折叠菜单)有效,我可以在一个窗口中单击,它将在所有浏览器同步的窗口中生效

什么行不通

  • 浏览器同步:单击链接后同步导航(顶级或子级别路径都有此问题)。这里只有单击的窗口导航到链接。但所有其他浏览器同步连接的窗口 留在当前页面,或错误地导航到子路由器URL 而不是链接的路由。

e.g。当在 / vNext / child-router1 / 列表中单击指向 / vNext / child-router1 / 5000 / detail 的链接时,在连接的浏览器中无效,即使socket.io片段显示单击。

1 个答案:

答案 0 :(得分:0)

看看这个合并的拉取请求 这增强了对浏览器同步的pushstate支持

https://github.com/aurelia/cli/pull/204/files