首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pager.js + History.js + Require.js -“无法获得未定义或空引用的属性”

Pager.js + History.js + Require.js -“无法获得未定义或空引用的属性”
EN

Stack Overflow用户
提问于 2015-01-09 15:13:09
回答 2查看 1.2K关注 0票数 2

我正在使用Require.js、Pager.js和History.js建立一个新的淘汰赛网络应用程序。我已经设置了初始化根据医生的说法,但是当我调用pager.startHistoryJs()时,从Pager.js收到了一个“无法获得未定义或空引用的属性‘绑定’”错误。

下面是我的Require.js配置:

代码语言:javascript
复制
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初始化脚本:

代码语言:javascript
复制
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行):

代码语言:javascript
复制
// 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);
});

我错过了哪一件?我还没有找到很多关于这个错误的相关信息。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-09 17:22:20

所获得的错误与没有加载适配器的情况下加载History.js是一致的。如果我查看history.js中的代码,我会发现如果没有可用的适配器,init函数将默默地返回false,History.js也不会被初始化。

我建议加载jQuery适配器并使history依赖于它。

票数 3
EN

Stack Overflow用户

发布于 2015-01-09 15:17:56

在require函数中,您似乎缺少了History (可能还有lib/domReady!)参数。

代码语言:javascript
复制
require(['knockout', 'viewmodel/appViewModel', 'jquery', 'pager', 'history', 'lib/domReady!'], function (ko, appViewModel, $, pager, History, domReady) {
    pager.useHTML5history = true;
    pager.Href5.history = History;
    var viewModel = new appViewModel();
    pager.extendWithPage(viewModel);
    ko.applyBindings(viewModel);
    pager.startHistoryJs();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27863601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档