我发现在使用templateHelpers并将其设置为函数时,它根本不显示。
但是当我在templateHelper中使用变量时,它正在显示。基本上他们在这个链接https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.view.md#viewevents中有什么,它不能在我的最终工作。
jsfiddle在这里http://jsfiddle.net/gerlstar/Ms7uN/2/
model2 = Backbone.Model.extend({
defaults: {
age: '',
name: ''
},
initialize: function () {
this.set({
name: "Terry"
});
}
});
someview = Marionette.ItemView.extend({
tagName: "div",
template: "#tpl-box",
templateHelpers: {
showMessage: function () {
return " is the coolest!";
}
}
});
var app = new Marionette.Application();
app.container = new Backbone.Marionette.Region({
el: "#container"
});
app.layout = new Backbone.Marionette.Layout.extend({
template: "#tpl-layout",
region: {
rgn: "#rgn1"
}
});
var m = new model2();
var view2 = new someview({
model: m
});
app.on("initialize:after", function() {
layout = new app.layout();
app.container.show(layout);
layout.rgn.show(view2);
});
app.start();
HTML
<div id="container" class="container"></div>
<script id="tpl-box" type="text/html">
<%= name %>
</script>
<script id="tpl-layout" type="text/html">
< h3 > My layout < /h3>
<div id="rgn1">
</div >
</script>
答案 0 :(得分:2)
这是你固定的小提琴http://jsfiddle.net/pSv9h/
new
关键字扩展骨干/ marionnete类时,不应使用new
关键字。
app.layout = Backbone.Marionette.Layout.extend
代替app.layout = new Backbone.Marionette.Layout.extend
regions
不是region
您需要在regions
而不是region