Для компонента Vue я использую библиотеку Rangy , чтобы выделить отдельные слова внутри текста.Это работает нормально, если Rangy вызывается из любого метода внутри methods
объекта:
let applier = rangy.createClassApplier('some-class');
applier.toggleRange(range);
Но иногда мне нужно восстановить определенное состояние при загрузке страницы, поэтому я пытался использовать тот же метод внутри created
и mounted
крючки.Это не работает.
Прямо сейчас, первые строки скрипта в моем компоненте выглядят так:
import _ from 'lodash';
import rangy from 'rangy';
import 'rangy/lib/rangy-classapplier';
export default {
mounted: function() {
// Leave function if there is no data in DB to be restored
if (_.isEmpty(this.mostRecentAnswers))
return;
else {
// ERROR
let applier = rangy.createClassApplier('some-class');
// ...
}
}
// ...
}
Сообщение об ошибке: TypeError: rangy__WEBPACK_IMPORTED_MODULE_2___default.a.createClassApplier is not a function at VueComponent.mounted
Я использую Vue с Laravel и Laravel Mix (который является оберткой для Webpack).
Что не так с моим кодом?Обратите внимание, что я также импортирую Lodash и использую его в хуке без ошибок.