我正在使用 Pager.js 和 withOnShow 使用通配符动态获取正确的数据。它在您第一次访问页面时工作,但如果您导航到新的 id,则会返回正确的 viewModel,但不会更新绑定。
html:
<div data-bind="page: {id: 'start'}">
<a href="" data-bind="page-href: '/11'">id 11</a>
<a href="" data-bind="page-href: '/12'">id 12</a>
</div>
<div data-bind="page: {id: '?', withOnShow: showView}">
<h1 data-bind="text:id"></h1>
<a href="" data-bind="page-href: '/11'">id 11</a>
<a href="" data-bind="page-href: '/12'">id 12</a>
</div>
JS
vm = ko.mapping.fromJS({test: 1});
vm.showView = function(callback, page) {
console.log(page.currentId);
vm = ko.mapping.fromJS({id: page.currentId});
callback(vm);
};
pager.useHTML5history = true;
pager.Href5.history = History;
pager.extendWithPage(vm);
ko.applyBindings(vm);
pager.startHistoryJs();
jsFiddle:http: //jsfiddle.net/xU4Uu/
尝试导航到其中一个链接,然后使用新链接导航到另一个 ID。控制台日志显示返回的正确 id 但 h1 未更新。
我是用错了还是 pager.js 中的错误?我正在进行一个项目,我真的需要让它发挥作用。有人解决了这个问题吗?