我的应用中有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
,但这仍然打破了我的布局。
有什么想法吗?
感谢。
答案 0 :(得分:40)
尝试使用
tagName:''
空字符串作为视图上tagName的值。
更新: 当我提请ember.js贡献者注意时,他们建议从
继承视图Ember._MetamorphView