如何在其他页面上激活时更新其他页面标题?

时间:2018-02-12 13:16:31

标签: javascript typescript aurelia page-title

说,我在"创建订单"页面,一旦我下了订单并保存了它,"乔布斯[0]"页面将增加1并显示为"作业1"。这样的事情。

我已经在SO处看到了一些答案,但它使用了激活方法,在该方法中,用户必须在页面中更改页面标题。请指教

以下是我的侧栏

sidebar

2 个答案:

答案 0 :(得分:1)

您可以使用message_receive的{​​{1}}事件监听器进行申请,每次在任何其他标签中设置localStorage的任何值时,都会调用函数storage

注册事件监听器,您将从diffrunt选项卡中获取消息

message_receive

消息boradcast将消息广播到每个列表器

window.addEventListener("storage", message_receive);

function message_receive(ev) {
    if (ev.key == 'message') {
        var message=ev.newValue;
        // Set your title here, using document.title='your formatted title'
    }
}

答案 1 :(得分:1)

假设您的侧边栏菜单是这样实现的。

<a 
  repeat.for="row of router.navigation"
  href.bind="row.href"
  class.bind="row.isActive ? 'active' : ''"
>${row.title}</a>

您无需更新路线的标题。

无论如何,您正在跟踪前端代码中的总作业数,只需在路径“作业”标题后显示该变量。

<a 
  repeat.for="row of router.navigation"
  href.bind="row.href"
  class.bind="row.isActive ? 'active' : ''"
>${row.title} <span if.bind="row.config.name == 'jobs'">[${jobCount}]</span></a>