1

我已經決定在搜索BB的&文件後進入主幹舞臺&,我在看似簡單的東西上遇到了一些麻煩。Backbone + Marionette + Rails第三張唱片的不同造型

我只是試圖自定義顯示在第三條記錄上的內容。

這是我會怎麼只使用Rails

<% @posts.each_with_index do |post, i| %> 
     <% if i == 1 || i == 7 || i == 14 %><!-- 1st, 7th, & 14th record --> 
     display title, description & something else 
     <% else %><!-- other records --> 
     display only title 
     <% end %> 
    <% end %> 

使用骨幹+木偶+下劃線做到這一點,這裏的如何我的記錄顯示: 控制器

 postsRegion: (posts) -> 
      postsView = @getPostsView posts 

      postsView.on "childview:posts:post:clicked", (child, post) -> 
       App.vent.trigger "posts:post:clicked", post 

      @layout.postsRegion.show postsView 

     getPostsView: (posts) -> 
      new List.Posts 
       collection: posts 

視圖

class List.Post extends App.Views.ItemView 
     template: "posts/list/_post" 
     tagName: "li" 
     className: "span4 item" 

     events: 
      "click" : -> @trigger "posts:post:clicked", @model 

第14次(或第3次)記錄顯示的內容與第1,7,&有什麼不同?另外,更多的是設計師,任何人都可以提出任何進一步閱讀使用這個JS庫的意見?

回答

1

在您的收藏視圖,您應該能夠基於索引選項傳遞給項目的看法類似如下:

MyCollectionView = Backbone.Marionette.CollectionView.extend({ 
    itemView : MyItemView, 
    itemViewOptions : function (model, index) { 
    if (index % 3 == 0) { 
     return { specialValue : "foo" }; 
    } else { 
     return {}; 
    } 
    } 
}; 
MyItemView = Backbone.Marionette.ItemView.extend({ 
    onRender : function() { 
    if (this.options.specialValue) { 
     // DO SOMETHING SPECIAL 
    } 
    } 
}; 

木偶文件實際上非常棒。有問題的功能可能是found here

+0

謝謝@Andrew – goo

+0

很好的答案!不知道'itemViewOptions'可能需要一個索引。 –

1

您可能會遇到以下問題:Marionette集合視圖呈現集合中每個模型的項目視圖。這些項目視圖反過來只根據模型中的數據調整顯示內容(即渲染的模板)。

如果你想突出每隔7個項目,我會看到以下選項:

  • 的jQuery/JavaScript代碼添加到onRender方法樣式的行(最簡單的,但可能有大的性能影響集合)
  • 如果渲染視圖的數量(通過jQuery選擇器獲取)可被7整除(請參閱https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.collectionview.md#collectionviews-appendhtml),或者使用外部計數器(例如,在視圖中定義的),則重寫集合/合成視圖的appendHtml以設置元素的樣式。
  • 定義你自己的vi EW接收的集合,使子視圖每個項目,並將其附加到DOM(基本上都是用普通的骨幹,並重新實現木偶概念)

總而言之,你將面臨一場艱苦的戰鬥,和如果您可以使用模型屬性進行造型,您的生活將更容易使用木偶。請注意,這個模型屬性不會在服務器上要堅持......

+0

我需要在第7項上的東西將是我的發佈縮略圖(我目前的是「big_image」和「thumb_image」)的某個版本。我還需要另一個元素/記錄來代替每10個項目。您可以在Rails中以多種方式執行此操作。 **這是不可行的使用木偶?我願意接受任何其他涉及Backbone的建議或圖書館。** Thanks @David – goo

+0

這裏有很多解決方案! –

相關問題