2012-03-27 38 views
7

我使用Ember.js/handlebars來循環一個集合,並吐出一些項目,我想bootstrap處理好和響應像。這裏是問題:Metamorphs弄亂了Ember.js中的CSS意見

自舉響應CSS中有一些declrations喜歡:

.row-fluid > [class*="span"]:first-child { 
    margin-left: 0; 
} 

.row-fluid:before, .row-fluid:after { 
    display: table; 
content: ""; 
} 

這些規則似乎針對第一批孩子。當我依次通過我的收藏車把我結束了在我的物品一堆的Metamorph代碼:

<div class="row-fluid"> 
      {{#each restaurantList}} 
       {{view GS.vHomePageRestList content=this class="span6"}} 
      {{/each}} 
</div> 

這裏是生產什麼:

<div class="row-fluid"> 
     <script id="metamorph-9-start" type="text/x-placeholder"></script> 
      <script id="metamorph-104-start" type="text/x-placeholder"></script> 
       <div id="ember2527" class="ember-view span6"> 
       My View 
       </div> 
      <script id="metamorph-104-end" type="text/x-placeholder"></script> 
      <script id="metamorph-105-start" type="text/x-placeholder"></script> 
       <div id="ember2574" class="ember-view span6"> 
       My View 2 
       </div> 
      <script id="metamorph-105-end" type="text/x-placeholder"></script> 
     <script id="metamorph-9-end" type="text/x-placeholder"></script> 
</div> 

所以我的問題是這樣的: 1。我如何告訴css忽略腳本標記? 或 2.如何編輯css綁定,以便在選擇第一個或第一個孩子時跳過腳本標記? 或 3.我怎樣才能構造這樣的Ember使用更少/沒有metamorph標籤?

這裏是一個小提琴:http://jsfiddle.net/skilesare/SgwsJ/

+0

以下似乎解決了這個問題。 Ember需要一種方式來通知我已完成重新綁定我的視圖.GS.vZipPage.addObserver'restaurantList', - > \t setTimeout - > \t \t $(「#pZipPage」)。find('。row-fluid' ).find(「div:first」).css('margin-left','0px') \t,1 – 2012-03-27 06:27:30

回答

6

由於在GitHub上

執行以下@wagnet幫助擺脫metamorphs的。謝謝彼得!

模板

{{view Em.CollectionView itemViewClass="GS.vHomePageRestList" contentBinding="restaurantList" class="row-fluid"}} 

視圖類

GS.vHomePageRestList = Em.View.extend 
templateName: 'tHomePageRestList' 
classNames: ['span6'] 
+0

你可以參考你在github上從wagnet獲得的具體信息嗎?在回答這個問題後很難,並且想嘗試這個解決方案作爲另一個答案的替代方案(它的工作原理)。 – steakchaser 2014-03-18 23:06:53

+0

這已經差不多2年前了,我不認爲燼再也不會這樣了。不同的是,這是使用集合視圖對象來自動遍歷集合,並且在我手動爲每個句柄進行操作之前。 – 2014-03-23 19:00:06

3

我已經通過處理這個問題:首個類型的選擇,而不是:第一胎。其中一個缺點是:第一類支持得不好(我相信IE8支持:第一個孩子但不是:第一個類型)。