如何阻止Ember组件继承容器组件的类?

时间:2017-05-03 21:22:07

标签: ember.js

所以我有这个代码的组件:

{{#summary-panel class="config-summary"}}
{{config-summary-body class="summary-body"
  config=model.config
  generateConfig="generateConfig"}}
{{device-summary-footer class="summary-footer"
  config=model.config
  generateConfig="generateConfig"}}    
{{/summary-panel}}

似乎放置在{{yield}}的{​​{1}}中的每个组件都会被赋予类summary-panel,这会破坏config-summary的CSS布局。我之所以给他们上课的原因是因为看起来Ember将组件放在一个div中,这打破了我想要做的布局。

我们有几个config-panel-xyz组件几乎完全相同,除了这里和那里的一些变化。所以我想我会把它们分成不同的组件,这样它们就可以重复使用了。

我不明白为什么Ember会将其他所有组件都放在同一个clas中,因为它没有意义。我如何让它停止这样做?

我也在旁注不喜欢我不得不给组件一个类,无论如何它应该/应该总是有这个类。这对我来说似乎有些难看,但我不知道怎么做,因为它总是给组件一个在实际device summary footer中定义的div。

1 个答案:

答案 0 :(得分:1)

我已经对这个问题发表了评论;你声称的不是Ember.js的行为。必须在您设计的组件上发生一些事情。

请检查我为您准备的twiddle。如您所见,我创建了与您具有相同名称的组件,并且分配的类是按预期方式。您可以从浏览器的调试控制台中查看它们。 config-summary未被指定为其他组件的类。请检查一下,如果可能的话,尝试提供有关组件的更多详细信息。你甚至可以准备一个旋转来说明你的情况;这可能会让我们更深入地了解这个问题。