在ember-cli文档中,它描述了通过自己覆盖app / component / [addon-name.js]来在宿主应用程序中桥接插件。但是,文档没有明确说明如何来执行此操作。
通过反复试验,我注意到通过在[主机应用] / app / component / [addon.js名称]中创建一个组件文件,只需将插件复制/粘贴到那里就可以自定义插件。然而,这是一种可怕的方法,我想我可以简单地覆盖有问题的函数......并且在某些情况下调用this.super()。functionName以保持过度乘坐简单和修剪。
然而,我无法让它发挥作用。有任何想法吗?
答案 0 :(得分:7)
可扩展性是插件同时拥有addon/
和app/
树的原因。在组件的app
树中,组件应该只是导入和导出,例如:
import XSelect from 'emberx-select/components/x-select';
export default XSelect;
来源:https://github.com/thefrontside/emberx-select/blob/master/app/components/x-select.js
在这种情况下,您希望在[host app]/app/component/[name-of-addons-component.js]
中创建组件,然后在该组件中执行:
import XSelect from 'emberx-select/components/x-select';
export default XSelect.extend({
//any overrides
});