В Discourse Я хочу изменить метод _dock
. Модифицирующий код будет размещен в плагине.Способ модификации в Ember Component
Вот короткий отрывок из этого файла:
export default Ember.Component.extend({
elementId: 'topic-progress-wrapper',
classNameBindings: ['docked', 'hidden'],
...
_dock() {
...
},
});
Как изменить этот метод? Должен ли я повторно открыть этот компонент и что такое синтаксис для этого?
Я думаю, что для моего случая reopenClass наиболее подходит. Но Ember Component привязан к 'elementId', что на самом деле является именем класса здесь? – megas
classNames, classNameBindings и attributeBindings - это конкатенационные свойства в компонентах. Поэтому просто расширьте классNames или classNameBindings, и вы получите все классы из аддона и имен классов, которые вы определяете в своем компоненте. См. Это: http://emberjs.com/api/classes/Ember.Object.html#property_concatenatedProperties – lependu
Но classNameBindings имеет массив из двух строк, каково имя компонента в точности? – megas