Как переопределить функциональность по умолчанию в Ember-аддонах

В документации ember-cli он описывает соединение аддона в вашем хост-приложении, переопределяя app/component/[addon-name.js] самостоятельно. Однако в документации явно не указано, как это сделать.

Методом проб и ошибок я заметил, что, создав файл компонента в вашем [host app]/app/component/[name of addon.js] и просто скопировав / вставив туда код дополнения, вы сможете настроить аддон. Тем не менее, это ужасный подход, я думаю, что я мог бы просто переопределить соответствующие функции... и в некоторых случаях вызвать this.super(). FunctionName, чтобы сделать переопределения простыми и аккуратными.

Тем не менее, я не могу заставить это работать. Есть идеи?

1 ответ

Решение

Расширяемость - это то, почему аддоны имеют как 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
});
Другие вопросы по тегам