gpt4 book ai didi

javascript - Marionette LayoutView 不渲染

转载 作者:行者123 更新时间:2023-11-30 16:46:39 24 4
gpt4 key购买 nike

这是我的布局 View :

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();
});

当我尝试在浏览器中查看页面时,布局 View 未呈现。不确定我在这里做错了什么

最佳答案

尝试在布局 View 上定义一个 el 属性:

var HomeView = Marionette.LayoutView.extend({
el: "#dom-element",
template: _.template(templateHTML),

regions: {
ad: ".adspace",
products: ".products"
}
});

或者使用区域来显示布局 View :

var region = new Marionette.Region({"el": "#container"}); 
var layoutView = new HomeView();
region.show(layoutView);

这应该可行,因为 LayoutViews 是从常规 Marionette Itemviews 扩展而来的。

关于javascript - Marionette LayoutView 不渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31140759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com