Привет! Давно не заглядывал к нашим плагинам. После обновления до версии 2.4.0 beta возникли ошибки при загрузке. Класс composer-editor.js завершается с ошибкой «this.afterRefresh() is not a function». Мне кажется, это может быть старое действие в классе компонента Ember, но я могу ошибаться. Ничего об этом не нашёл. Неужели это какой-то устаревший код, или я использую устаревший API? Спасибо.
У вас есть эта проблема в безопасном режиме?
Проблема возникает при установленных у меня плагинах, поэтому запуск в безопасном режиме не помогает найти её причину. Этот конкретный плагин использует компонент composer-editor в шаблонном файле.
Я проверил версию v2.3.6 и поискал afterRefresh. Похоже, что в composer-editor.js он используется иначе: this.afterRefresh($preview); вместо this.sendAction(‘afterRefresh’, $preview);. По крайней мере, это, судя по всему, и есть проблема.
Из вашего поста не было ясно, считаете ли вы, что проблема исходит от плагинов или из ядра.
Без доступа к коду мало что можно посоветовать. Но вы правы: sendAction устарел и больше не должен использоваться; теперь действия — это простые замыкания.
Хорошо, так что просто вызов действия как функции — это теперь правильный способ? Тогда, похоже, мне придётся пересмотреть свой код. Я думал, что, возможно, это был баг.
Да, вызов в качестве функции — это ожидаемый способ использования.
Я не определил параметр afterRefresh в тегах composer-editor в файле шаблона. Похоже, это обязательно.