2013-06-02 59 views
0

我konw,我可以創造一個簡單的標記名:骨幹創建複雜的標記名視圖

  var Home = Backbone.View.extend({ 

      tagName:"li", 

,但我需要在我的視圖中創建一個複雜的標記名:

  <div class="row"> 

      <div class="page-header "> 
       <p class="pull-right"><a href="#">see all</a></p> 
       <h4>Honors <small>(10)</small></h4> 
      </div> 

      <div class="pagination-centered"> 


      </div> 

     </div> 

並追加在div class =「pagination-centered」中渲染的結果。 我可以如上創建一個複雜的標記名嗎?並將渲染結果追加到特定的類中?

+0

那裏有問題嗎? – idbehold

+0

我已經添加了更詳細的問題 –

回答

2

答案是你不能。您的視圖元素只有一個 DOM元素。你展示的是幾個嵌套元素。
這裏你的視圖元素應該是父類div,其餘的可以作爲模板附加。

var Home = Backbone.View.extend({ 
    // tagName: 'div' <= useless as it's the default value 
    className: 'row', 
    template: myHTML, 
    render: function() { 
    this.$el.append(this.template); 
    } 

});

順便說一句,沒有必要創建一個新的問題。

+0

如果我用jquery創建了幾個嵌套元素,將它追加到dom中並在追加渲染之後?但是內部渲染怎麼可以捕獲元素dom? –

+0

你應該做幾個層次的邏輯來代替(一個更通用的視圖,另一個更重點)。但是你可以使用'View#setElement'和'View#$'來改變你的元素。 – Loamhoof