Я использую Pager.js и withOnShow для динамического получения правильных данных с помощью подстановочного знака. Он работает при первом посещении страницы, но если вы переходите к новому идентификатору, возвращается правильная модель просмотра, но привязки не обновляются.
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/
Попробуйте перейти к одной из ссылок, а затем используйте новые ссылки для перехода к другому идентификатору. Журналы консоли показывают, что возвращен правильный идентификатор, но h1 не обновляется.
Я использую это неправильно или это ошибка в pager.js? Я в середине проекта, и мне действительно нужно, чтобы это работало. Кто-нибудь решил это как-то?