我有一个路由 (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/