正确的方法来手动构建ember组件并允许控制器拾取操作

时间:2015-12-04 23:25:08

标签: ember.js

我有一个组件插件项目,我想允许用户提供他们自己的子组件。这包装了一个JQuery库,所以我没有可能使用传统的ember概念,如{{#each}}或{{component}}帮助器。出于这个原因,我需要在JS代码中创建组件。

用户将为my-component提供itemComponent;

控制器

import customUserComponent from './custom-user-component'

export default Ember.Controller.extend({
    customUserComponent
})

模板

{{my-component itemComponent=customUserComponent}}

itemComponent传递给JQuery库,并在库需要时创建。它需要原始HTML,所以我需要返回item.element。我必须按如下方式手动创建它。

      suggestion: function(model) {
        const item = this.get('itemComponent').create({
          model: model
        }).createElement();
        return item.element;
      },

用户提供的组件可以包含按钮并在其中嵌入{{actions}}。如何强制控制器拾取操作而不被my-component吞下?有官方的方法吗?

0 个答案:

没有答案