Marionette LayoutView 未呈现
Marionette LayoutView not rendering
这是我的布局视图:
define(["marionette", "lodash", "text!home/template.html"],
function(Marionette, _, templateHTML) {
var HomeView = Marionette.LayoutView.extend({
template: _.template(templateHTML),
regions: {
ad: ".adspace",
products: ".products"
}
});
return HomeView;
});
这是我的 app.js:
define(["marionette", "backbone", "router", "home/view"],
function(Marionette, Backbone, Router, HomeView) {
'use strict';
var App = new Marionette.Application();
App.on('start', function() {
Backbone.history.start();
new HomeView();
});
return App;
});
这是我的 router.js
define(["backbone", "home/view"], function(
Backbone,
HomeView
){
'use strict';
var Router = Backbone.Router.extend({
routes: {
"": "index"
},
index: function() {
console.log("HEYEEY");
return new HomeView().render();
}
});
return new Router();
});
当我尝试在浏览器中查看页面时,布局视图未呈现。不确定我在这里做错了什么
尝试在布局视图上定义 el
属性:
var HomeView = Marionette.LayoutView.extend({
el: "#dom-element",
template: _.template(templateHTML),
regions: {
ad: ".adspace",
products: ".products"
}
});
或使用区域显示布局视图:
var region = new Marionette.Region({"el": "#container"});
var layoutView = new HomeView();
region.show(layoutView);
这应该可行,因为 LayoutViews 是从常规 Marionette Itemviews 扩展而来的。
这是我的布局视图:
define(["marionette", "lodash", "text!home/template.html"],
function(Marionette, _, templateHTML) {
var HomeView = Marionette.LayoutView.extend({
template: _.template(templateHTML),
regions: {
ad: ".adspace",
products: ".products"
}
});
return HomeView;
});
这是我的 app.js:
define(["marionette", "backbone", "router", "home/view"],
function(Marionette, Backbone, Router, HomeView) {
'use strict';
var App = new Marionette.Application();
App.on('start', function() {
Backbone.history.start();
new HomeView();
});
return App;
});
这是我的 router.js
define(["backbone", "home/view"], function(
Backbone,
HomeView
){
'use strict';
var Router = Backbone.Router.extend({
routes: {
"": "index"
},
index: function() {
console.log("HEYEEY");
return new HomeView().render();
}
});
return new Router();
});
当我尝试在浏览器中查看页面时,布局视图未呈现。不确定我在这里做错了什么
尝试在布局视图上定义 el
属性:
var HomeView = Marionette.LayoutView.extend({
el: "#dom-element",
template: _.template(templateHTML),
regions: {
ad: ".adspace",
products: ".products"
}
});
或使用区域显示布局视图:
var region = new Marionette.Region({"el": "#container"});
var layoutView = new HomeView();
region.show(layoutView);
这应该可行,因为 LayoutViews 是从常规 Marionette Itemviews 扩展而来的。