2013-04-30 166 views
0

我正在使用Handlebars而不是下劃線。我遇到了一個問題,渲染後的模板不會附加到我指定的實際元素上。Handlebars&Backbone - backbone html不能正確呈現

型號:

ImageApp.Models.Image = Backbone.Model.extend({ 
defaults: { 
    imagePath: '', 
    description: 'No description available', 
    postedOn: '' 
    } 
}); 

查看:

ImageApp.Views.ImageView = Backbone.View.extend({ 
tagName: 'ul', 

initialize: function() { 
    this.render(); 
}, 

render: function() { 
    var compiledTemplate = Handlebars.compile($('#imageList-template').html()); 
    var renderedTemplate = compiledTemplate(this.model.toJSON()); 

    this.$el.html(renderedTemplate); 

    $('#imageList').html(this.el); 
} 
}); 

模板

​​

我希望它可以產生一個無序列表包含img元素的單個項目,而是它創建的只是一個空的列表項。任何人看到任何明顯的我做錯了什麼?

+0

2個東西(可能是未成年人)回答 - 1)你不包括模型,所以您可能會在屬性中出現拼寫錯誤,2)在{{{description}}之後,您錯過了可能會破壞模板的單引號。 – 2013-04-30 15:47:49

+0

@ jesus.tesh大聲笑它是單引號...哇...移動它anwser,我會接受它,謝謝! – Justin 2013-04-30 15:51:35

+0

您的示例模型中存在不匹配的{}'。 – loganfsmyth 2013-04-30 16:27:26

回答

2

您錯過了{{description}}之後可能會中斷模板的單引號。

感動每個請求 (我沒有移動到一個問題的意見的能力)