Ember.js查看没有包装Div?

时间:2014-04-29 15:23:55

标签: ember.js ember-1

我的应用中有3列布局。我正在使用语义UI。所以,布局是:

<div class='ui celled grid'>
  <div class='left column'>...</div>
  <div class='middle column'>...</div>
  <div class='right column'>...</div>
</div>

所以,直截了当。

在我的application.hbs中,它只是:

<div class='ui celled grid'>
  <div class='left column'><!-- menu --></div>
  {{outlet}}
</div>

其他2列在我的子控制器/模板中。这工作正常,直到我需要View。如果我需要View,那么Ember会使HTML布局变为:

<div class='ui celled grid'>
  <div class='left column'><!-- menu --></div>
  <div class='ember-view'>
    <div class='middle column'><!-- content --></div>
    <div class='right column'><!-- content --></div>
  </div>
</div>

包裹<div class='ember-view'>打破了我的布局。因为我并不总是需要View我需要一种方法来使HTML与View一样或不相同。

此时,我看到了2个解决方案。我要么必须以某种方式重新设计我的布局(我还没有解决)。或者我可以摆脱包装div。

但是有可能摆脱包装div吗?我试过这个:

export default Ember.View.extend({
  tagName: null
});

但这不起作用。我也尝试了span,但这仍然打破了我的布局。

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:40)

尝试使用

tagName:''

空字符串作为视图上tagName的值。

更新: 当我提请ember.js贡献者注意时,他们建议从

继承视图
Ember._MetamorphView

https://github.com/emberjs/ember.js/pull/4790