0

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

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

一个Widget实例将返回类似的路径displayComponentwidgets/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>.

我对旧的行为有误解吗?如果没有,有没有办法让这项工作成为旧方式?

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

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

4

0 回答 0