我有一个组件插件项目,我想允许用户提供他们自己的子组件。这包装了一个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
吞下?有官方的方法吗?