1
我有一些奇怪的困難,顯示模型屬性與車把和backbone.js 這裏是代碼。Handlebars not reading backbone.js模型屬性
MYAPP.Menu = {}; MYAPP.Menu.Item = Backbone.Model.extend({ urlRoot : 'menuItem', defaults: { title: "Menu Item Title default", price: "menu item price default" }, });
MYAPP.Menu.Items = Backbone.Collection.extend({
model: MYAPP.Menu.Item,
url: 'menuItems'
});
MYAPP.Menu.ItemView = Backbone.View.extend({
initialize : function() {
this.model = new MYAPP.Menu.Item();
this.model.on('all', this.render, this);
},
render : function() {
var source = $("#index-template").html();
var template = Handlebars.compile(source);
console.debug(this.model.get("title")); <- shows default value
var html = template(this.model);
console.debug(html);
this.$el.html(html);
return this;
}
});
而且模板:
<script type="text/x-mustache-template" id="index-template"> <div class="entry"> <h1>{{title}}</h1> <div class="body"> {{price}} </div> </div> </script>
輸出無非只是任何數據的標籤。在控制檯中也沒有錯誤。 任何想法?
嗯,我有一個解決辦法:
當我使用
initialize : function() { this.title = "Menu Item Title default"; this.price = "menu item price default"; },
,一切工作正常。沒有任何人有這個
謝謝,但這仍然不能解釋爲什麼當我使用一個構造函數而不是默認值時,它的工作原理 – Gleeb
在那裏,我更新了答案來說明這一點。 – Lukas