在Ember 2.1中,attributeBindings和classBindings没有附加到带有组件助手的<div>?

时间:2015-11-24 17:00:12

标签: ember.js ember-components

我有一个小部件仪表板应用程序,其中使用组件帮助程序显示各个小部件。模板最终看起来像这样:

<div class="panel panel-default">
  <div class="panel-body">
    {{component model.displayComponent model=model}}
  </div>
</div>

Widget个实例会返回displayComponent的路径,如:widgets/category/specific-widget

我在Ember 2.1中发现的是,组件上定义的attributeBindingsclassBindings未被应用。而我认为他们正在Ember 1.13中被应用。

换句话说,在1.13中,想一个像这样定义的组件:

// app/components/widgets/category/specific-widget.js
export default Ember.Component.extend({
  model:      null,
  classNames: [ 'widget-content' ],
  attributeBindings: [ 'style:style' ],
  style:      Ember.computed.readOnly('model.contentHeight')
});

我会得到<div id="ember..." style="height:300px" class="ember-view widget-content">...</div>。现在我只是得到默认的<div id="ember..." class="ember-view">...</div>

我是否对旧行为有误?如果没有,有没有办法让这项工作成为现实?

P.S。我无法在任何地方找到组件助手的文档。那是在ember.js网站上吗?

编辑:开发人员错误...我的小工具模板的路径与我的小部件代码的命名方式不同(复数)。例如:我的模板是app/templates/components/widgets/categories/widget.hbs,但我的小部件代码是app/components/widgets/category/widget.js。因为Ember默认在那里插入组件代码,所以没有抛出错误。如果我在另一个方向犯了错误,就会抛出错误。

0 个答案:

没有答案