我似乎无法从我的主应用文件访问我的观看次数。我是骨干和牵线木偶的新手,我读过这些文件,却找不到为什么它不起作用。有任何帮助或建议吗?
app.js
window.App = new Marionette.Application();
App.addRegions({
gameCriteria: "#game-criteria"
});
App.myRegion.show(myView);
});
myView.js
App.module("Views", function(Views, App, Backbone, Marionette, $, _) {
var GameCriteriaTab = Backbone.Marionette.ItemView.extend({
template: JST["game-criteria-tab"],
regions: {
rulesRegion: "#rules-region"
},
onShow: function() {
this.rulesRegion.show(RulesView);
}
});
});
答案 0 :(得分:0)
你在调用show之前实例化了一个视图吗?我正在等待类似的代码:
App.myRegion.show(new GameCriteriaTab ({
model: new GameCriteriaModel()
}));
你可以在Chrome控制台中向我们提供错误吗?
答案 1 :(得分:0)
不确定你在这里想做什么。我假设您要创建一个名为“windowApp”的应用程序,并且您尝试在名为“gameCriteria”的区域内显示名为“GameCriteriaTab”的视图。我正在将您的代码重构为以下内容: -
windowApp = new Backbone.Marionette.Application();
windowApp.addRegions({
gameCriteria: "#game-criteria"
});
windowApp.GameCriteriaTab = Marionette.ItemView.extend({ //Defining the view
template: " <include your template Id or className here> "
});
windowApp.on("start",function(){
var myView = new windowApp.GameCriteriaTab(); //You need to create an instance of the view if you want to render it in the page
windowApp.gameCriteria.show(myView); //Showing the view in the specified region
});
windowApp.start(); //This will run the marionette application
您无法在ItemView中定义任何区域。您是否尝试创建嵌套视图?在这种情况下,LayoutView可以满足您的需求,您可以在其中添加区域。然后将ItemView更改为LayoutView。