Backbone.js TypeError:undefined不是对象(计算';木偶.布局视图.扩展';)
学习木偶并尝试使用木偶布局视图创建区域。我得到了问题标题中描述的错误信息。检查了很多次代码,但就是看不出问题出在哪里。希望有人能告诉我。谢谢显然,问题是木偶。LayoutView未定义,我不知道为什么: var AppLayoutView=marionete.LayoutView.extend(Backbone.js TypeError:undefined不是对象(计算';木偶.布局视图.扩展';),backbone.js,marionette,Backbone.js,Marionette,学习木偶并尝试使用木偶布局视图创建区域。我得到了问题标题中描述的错误信息。检查了很多次代码,但就是看不出问题出在哪里。希望有人能告诉我。谢谢显然,问题是木偶。LayoutView未定义,我不知道为什么: var AppLayoutView=marionete.LayoutView.extend( 我承认我发布的问题是模棱两可的。我道歉。这是我学习过程的一部分。无论如何,为了记录在案,我已经重构了我的代码,如下所示,现在对我有用 var Marionette = require('backbone
我承认我发布的问题是模棱两可的。我道歉。这是我学习过程的一部分。无论如何,为了记录在案,我已经重构了我的代码,如下所示,现在对我有用
var Marionette = require('backbone.marionette'),
Controller = require('./controller'),
Router = require('./router');
App = new Marionette.Application();
App.on("before:start", function(){
App.addRegions({
headerRegion: "#header-region",
mainHeaderRegion: "#content-header",
mainRegion: "#main-region",
drawerRegion: "#drawer-region",
dialog: "#dialog-region"
});
});
App.on("start", function(){
if (Backbone.history) {
App.controller = new Controller();
App.router= new Router({ controller: App.controller });
//App.core.vent.trigger('app:log', 'App: Backbone.history starting');
Backbone.history.start();
}
});
App.vent.bind('app:log', function(msg) {
console.log(msg);
});
App.start();
您发布的代码存在语法错误
var AppLayoutView=Marionette.LayoutView.extend(var Marionette
。您不能在函数调用中声明变量。请更新问题Marionette不是独立的,它需要主干,同样需要jquery/zepto和下划线,所以您也需要它们。@ivarni我知道Marionette的依赖关系。这是由Browserify使用shim,which没有显示在代码中。@TJ我是用一些示例代码构建的。当我试图用自己的代码进行扩展时,显然缺乏理解。无论如何,我从头开始重构这些代码,并设法解决了错误问题。谢谢
var Marionette = require('backbone.marionette'),
Controller = require('./controller'),
Router = require('./router');
App = new Marionette.Application();
App.on("before:start", function(){
App.addRegions({
headerRegion: "#header-region",
mainHeaderRegion: "#content-header",
mainRegion: "#main-region",
drawerRegion: "#drawer-region",
dialog: "#dialog-region"
});
});
App.on("start", function(){
if (Backbone.history) {
App.controller = new Controller();
App.router= new Router({ controller: App.controller });
//App.core.vent.trigger('app:log', 'App: Backbone.history starting');
Backbone.history.start();
}
});
App.vent.bind('app:log', function(msg) {
console.log(msg);
});
App.start();