2

Require.js、Pager.js、および History.js を使用して、新しい Knockout Web アプリをセットアップしています。docs に従って初期化を設定しましたが、 を呼び出すと Pager.js から「未定義または null 参照のプロパティ 'bind' を取得できません」というエラーが表示されます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);
});

欠けているのは何ですか?このエラーに関する多くの関連情報を見つけることができませんでした。

4

2 に答える 2

0

require 関数にHistory(そしておそらくの何か) 引数が欠落しているようです。lib/domReady!

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();
});
于 2015-01-09T15:17:56.567 に答える