我正在尝试使用 Knockout、pagerjs 和 history.js 设置 SPA。但是,当我单击包含 的链接时data-bind="'page-href': '/somepath'"
,出现 JS 错误:
对象函数 History() { [native code] } 没有方法“pushState”
这将向我表明我正在错误地初始化 pagerjs,但我认为我正确地遵循了演示。这是我初始化pagerjs的方式:
define(['knockout', 'pager', 'history'], function (ko, pager, history) {
// [define my view model]
pager.useHTML5history = true;
pager.Href5.history = history;
pager.extendWithPage(viewModel);
// [apply bindings]
pager.start();
});
为了使 history.js 能够作为 AMD 模块加载,我将其添加到 history.js 的底部:
// [original history.js code]
define(function() { return History; });
但是,我注意到它History
没有pushState
方法,这是 pagerjs 试图调用的方法。
集成pagerjs和history.js的正确方法是什么?