2014-01-06 39 views
0

我想要一個包含摘要和細節div的視圖,首先我將顯示包含按鈕細節的摘要,單擊我將替換視圖模板和調用渲染函數的細節,這是正確的方式切換模板還是有更好的方法。在點擊視圖中切換模板

<script type="text/javascript"> 

var viewTemplate= { 
    name:'#template1' 
} 

var ContentView = Backbone.View.extend({ 
    el: $('#content'), 
    initialize: function(){ 
     this.render(); 
    }, 
    render: function(){ 
     var template = _.template($(viewTemplate.name).html()); 
     this.$el.html(template); 
     return this; 
    }, 
    events:{ 
     "click #showMore": "showMore", 
     "click #showLess": "showLess" 

    }, 
    showMore: function(){ 
     viewTemplate.name='#template2'; 
     this.render(); 
     console.log(viewTemplate.name); 
    }, 
    showLess:function(){ 
     viewTemplate.name='#template1'; 
     console.log(viewTemplate.name); 
     this.render(); 
    } 
}); 

var appView = new ContentView(); 

回答

0

你考慮增加一個狀態屬性您的看法?通過您的應用程序中的更改或事件設置狀態。

你渲染函數可以根據狀態渲染正確的視圖。每個案例可以有自己的模板。似乎更容易維護。