我正在使用 Require.js、Pager.js 和 History.js 设置一个新的 Knockout Web 应用程序。我已经根据文档设置了我的初始化,但是当我调用 Pager.js 时,我收到“无法获取未定义或空引用的属性‘绑定’”错误pager.startHistoryJs()
。
这是我的 Require.js 配置:
require.config({
paths: {
'knockout': '/scripts/lib/knockout-3.2.0',
'jquery': '/scripts/lib/jquery-1.11.2.min',
'text': '/scripts/lib/text',
'pager': '/scripts/lib/pager.min',
'history': '/scripts/lib/history'
},
shim: {
'pager': ['jquery', 'knockout'],
'history': ['jquery', 'pager', 'knockout'],
},
waitSeconds: 0
});
这是我的 Require.js 初始化脚本:
require(['knockout', 'viewmodel/appViewModel', 'jquery', 'pager', 'history', 'lib/domReady!'], function (ko, appViewModel, $, pager) {
pager.useHTML5history = true;
pager.Href5.history = History;
var viewModel = new appViewModel();
pager.extendWithPage(viewModel);
ko.applyBindings(viewModel);
pager.startHistoryJs();
});
这是 Pager.js(第 1497 行)中引发错误的行:
// Bind to StateChange Event
pager.Href5.history.Adapter.bind(window, 'statechange', function () {
var relativeUrl = pager.Href5.history.getState().url.replace(pager.Href5.history.getBaseUrl(), '');
goTo(relativeUrl);
});
我错过了什么?我无法找到有关此错误的很多相关信息。