2012-03-27 72 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支持:第一个孩子但不是:第一个类型)。