2013-07-16 89 views
0

我有一些來自外部光源例如屬性名稱,比較屬性在對一些常見的屬性模型

var columnDetails = { 
     firstname : "firstname", 
     lastName : "lastName", 
     place : "place", 
     taluk : "taluk", 
     state : "state", 
     country : "country" 
    }; 

,當我做從服務器fetch(),我得到的集合[車型集合],現在我必須比較 collection中的每個columnDetails和顯示/綁定存在於columnDetails propeties。

for澄清 根據我的理解,如果我們嘗試綁定模型,它將只綁定我們在模型中具有的同名屬性。

請說明一點。

問候

+0

您的意思是從服務器返回的對象具有與模型不同的屬性名稱嗎? 例如服務器在模型使用'fname'時返回'firstName:「foo」'? – Creynders

+0

不完全是這樣,考慮'columnDetails'有十個字段,模型有二十個字段,所以我必須只顯示與'columnDetails'匹配的字段,模型應該顯示 –

+0

啊,好吧,我想我明白你的意思了正在努力去做。看到我的答案。 – Creynders

回答

1

您需要將columnDetails傳遞到您的收藏視圖的項目視圖,然後遍歷它們在你的模板:

var my_template_html = "<% _.each(attributeNames, function(attributeName) { %> <li><%= model[attributeName] %></li> <% }); %>" 
MyItemView = Backbone.Marionette.ItemView({ 
    template:function(serialized_model) { 
     return _.template(my_template_html, { 
      model : serialized_model, 
      attributeNames : options.attributeNames 
     }); 
    } 
}); 

var columnDetails = { 
    firstname : "firstname", 
    lastName : "lastName", 
    place : "place", 
    taluk : "taluk", 
    state : "state", 
    country : "country" 
}; 

MyCollectionView = Backbone.Marionette.CollectionView({ 
    itemView: MyItemView, 
    itemViewOptions: { 
    attributeNames: columnDetails 
    } 
}); 

下面是一些相關鏈接:

+0

嗨克里恩德謝謝+1,請看看這個http://stackoverflow.com/questions/17691661/how-to-bind-a-attribute-to-a-item-view-in-backbone-牽線木偶/ 17692140?noredirect = 1#17692140請幫助我 –