0

我不明白我做错了什么。我正在尝试在我的应用程序中使用 Backbone LayoutManager,下面的简单代码会导致错误:'无法调用未定义的方法'绑定''

这是我的 main.js 文件:

require.config({
    paths: {
        jquery: 'libs/jquery',
        underscore: 'libs/underscore',
        backbone: 'libs/backbone',
        layoutManager: 'libs/backbone.layoutmanager',
        knockout: 'libs/knockout',
        templates: '../templates'
    },

    shim: {

        backbone: {
            deps: ['jquery','underscore'],
            exports: 'Backbone'
        },
        layoutManager: {
            deps: ['jquery','underscore', 'backbone'],
            exports: 'LayoutManager'
        }
    }

});

require([
    'app',
    'backbone',
    'layoutManager'
], function(App, Backbone, LayoutManager) {

        // Set all Views to be managed by LayoutManager.
    Backbone.Layout.configure({ manage: true });

    App.initialize();

});

知道是什么导致了这个错误吗?

4

1 回答 1

0

根据您使用的 LayoutManager 版本,可能是您的匀场不正确。最新的 LayoutManager 支持 AMD,因此不需要 shim。

正如您收到的@kryger 评论所述,请确保正确填充下划线。我敢打赌那是你的问题。

shim: {
    backbone: {
        deps: ['jquery', 'underscore'],
        exports: 'Backbone'
    },

    underscore: { exports: '_' }
}

您还可以查看配置 AMD 的文档:https ://github.com/tbranyen/backbone.layoutmanager/wiki/Installation#asynchronous-module-definition-amd

^^ 我已经更新了上面的内容以包含下划线填充的行。

于 2014-01-05T23:03:20.500 回答