У меня есть простой миксин, который использует свойство для выполнения действия.Я пытаюсь смоделировать наследование, чтобы я мог переопределить это свойство в Компоненте, использующем миксин.
Для того же преимущества переопределения в любом языке OO.
Я ценю использование extend
, может быть предпочтительнее для моделирования наследования, но мне интересно, возможно ли это с миксином.
Я пытался использовать this.get('')
для получения свойства из моего компонента, которого нет в миксине.Идея в том, что я могу проверить, хочет ли программист указать элемент для фокусировки.Если нет, используйте значение по умолчанию.Это ничего не возвращает, даже если свойство определено в компоненте реализации.
import $ from 'jquery';
import Mixin from '@ember/object/mixin';
export default Mixin.create({
didRender() {
this._super(...arguments);
$(this.get('elementToFocus') ? this.get('elementToFocus') : 'h1').focus();
}
});
Я также пытался использовать свойство в mixin, а затем дублировать свойство в компоненте.Это ломает все и дает мне случайные ошибки.
import $ from 'jquery';
import Mixin from '@ember/object/mixin';
export default Mixin.create({
elementToFocus: 'h1',
didRender() {
this._super(...arguments);
$(this.get('elementToFocus')).focus();
});
Если вы видите, чего я пытаюсь достичь, какой лучший способ сделать это?