2015-10-31 33 views
0

我需要使用backbone.js渲染選擇。但它總是注入一個包裝div?backbone.js - 如何擺脫div? - 如何渲染選項?

試圖設置tagName: ''是不允許的。

var MuppetsListItemView = Backbone.View.extend({ 
     tagName: '',//leads to error 

     render: function() { 
      this.$el.html('<option id="'+this.model.get('id')+'">'+this.model.get('key')+'</option>'); 
      return this; 
      }, 

如果我想自己處理HTML完成,我怎麼能實現這一點,沒有骨幹干擾和添加一個div?

或者,如果有人能夠解釋如何在將標記設置爲tagName:時將骨幹任意屬性注入到<option>標記中,這將會很棒。 (我的意思是,我必須做什麼,主幹在選項標記中「自動」注入上面HTML中的ID和KEY(但不使用任何模板系統))。謝謝!

回答

3

你想爲id使用View.attributes,只需使用模板來設置選項的內容就像正常一樣。

http://backbonejs.org/#View-attributes http://backbonejs.org/#View-template

var MuppetsListItemView = Backbone.View.extend({ 
    tagName: 'option', 
    attributes: function() { 
    return { 
     id: this.model.get('id'), 
    }; 
    }, 
... 

如果您不熟悉使用模板和骨幹的意見,這裏是一個指南:http://codebeerstartups.com/2012/12/how-to-use-templates-in-backbone-js-learning-backbone-js/