javascript - 强制组合刷新

标签 javascript durandal

我有一个路由 (doctors/:id),其中包含两个子页面(doctors/:id/index 和 doctors/:id/details)。这是我的 shell.html:

<div id="content-head">
   <h1>Page Title</h1>
</div>

<div id="content-main">
   <ul class="tabs" data-bind="foreach: router.navigationModel()">
      <li data-bind="css: { selected: isActive }"><a data-bind="attr: { href: hash }, text: title"></a></li>
   </ul>

   <div id="content-main-inner" data-bind="router: {}"></div>
</div>

<aside data-bind="compose: { model: 'doctors/_sidebar/index' , view: 'doctors/_sidebar/index' }"></aside>

侧边栏组成包括页面相关信息,例如统计信息和指向其他 :id 页面的链接。

我想在两个子页面之间导航时保​​持侧边栏完好无损,但是当我从 doctors/100 转到 doctors/200 时,我想让侧边栏刷新并给我新数据。有办法实现吗?

最佳答案

我建议您重构您的 activate 并从中取出数据加载代码,然后将其放入一个新函数(必要时由 activate 调用)。然后使用 Durandal 事件订阅事件,并重新加载该事件的数据。然后在您的其他“子页面”中,当它们加载、激活或其他任何内容时触发该事件。

关于javascript - 强制组合刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18721939/

相关文章:

javascript - 类型错误 : text. indexOf 不是函数

typescript - 有没有办法在 TypeScript 模块中访问 "exports"对象?

asp.net-mvc-4 - 如何在 SPA HotTowel 模板中设置登录 View (用户身份验证)?

javascript - 输入数据列表在动态添加的元素中不起作用

mvvm - 编码的UI搜索不允许DataService Ajax请求

javascript - Durandal 中的多级路由

widget - Durandal 小部件 "this.settings is undefined"

javascript - 如何在提交后不离开页面的情况下通过电子邮件发送用户输入

javascript - 在数组中对值进行排序后,保留键及其值吗?

javascript - 了解 Node 中的回调