我不明白我做错了什么。我正在尝试在我的应用程序中使用Backbone LayoutManager,下面的简单代码会导致错误:'无法调用方法'bind'of undefined'
这是我的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();
});
知道是什么导致了这个错误吗?
答案 0 :(得分:0)
根据您正在使用的LayoutManager的版本,可能是您的填充错误。最新的LayoutManager支持AMD,所以垫片是不必要的。
正如@ kryger对您收到的评论所述,请确保下划线已正确填充。我愿意打赌那是你的问题。
shim: {
backbone: {
deps: ['jquery', 'underscore'],
exports: 'Backbone'
},
underscore: { exports: '_' }
}
您还可以查看配置AMD的文档:https://github.com/tbranyen/backbone.layoutmanager/wiki/Installation#asynchronous-module-definition-amd
^^我已经更新了上面的内容以包含下划线填充线。