2011-05-20 29 views
2

在我的應用程序中,我有幾個tagList,每個包含幾個tags分組由index_name如何使用Backbone.js處理嵌套視圖?

我很遺憾應該如何處理Backbone視圖。

我有一個TagListView延伸Backbone.View,我想我會處理所有這個視圖的事件。

我的主要問題我應該創建一個TagView與渲染功能,將創建&爲每個標記呈現在TagListView渲染功能?


以下是我在我看來,到目前爲止做的:(這是正確的初始化?!)

<ul id="strategy-tags"> 
     <!-- initial data --> 
     <script type="text/javascript"> 
      AppData.strategyTagList = $.parseJSON('<?php echo json_encode($strategyTagList); ?>'); 
      strategyTagListView = new App.TagListView({el : "#strategy-tags", data: AppData.strategyTagList}); 
     </script> 
    </ul> 

裏面我core.js

App.TagListView = Backbone.View.extend({ 

     // dom event specific to this item. 
     events: { 
     }, 

     initialize: function(options) { 
      this.el = options.el; 
     }, 

     render: function() { 
      // let's construct the tag list from input data 
      _.each(options.data, function(index) { 
       // render index? <-- how ? 
       _.each(index, function(tag) { 
        // render tag? <-- how ? 
        console.log(tag); 
       }); 
      }); 
      return this; 
     } 

    }); 

非常感謝。

回答

4

我會說是的,個人「項目」視圖可以單獨重新呈現的好處是,如果您對此類項目後面的模型進行了更改,則只有該項目需要重新呈現瀏覽器。這對性能來說是最好的。

2

這裏似乎是一個粒度問題,有時我會問自己一個問題。我的建議是不要過度地表達意見。這類似於爲java中的所有東西創建對象 - 有時候一個簡單的字符串就足夠了。如果您發現未來會增加粒度的情況,您可以隨時回來改變它。