Синтаксис собственного класса не имеет прямого эквивалента для системы Ember mixin. Если вы хотите продолжать использовать миксины при конвертации в Octane, вы можете сделать это, смешивая синтаксис расширения класса classi c с собственным синтаксисом класса:
Попробуйте
import Route from '@ember/routing/route';
import AbcAuthenticatedRouteMixin from '../../mixins/abc-authenticated-route-mixin';
export default class ChangePasswordRoute extends Route.extend(AbcAuthenticatedRouteMixin) {
model() {
return {
oldPassword: '',
newPassword: '',
confirmPassword: ''
};
}
}
Кроме того, некоторые новые каркасные классы, такие как компоненты Glimmer, вообще не поддерживают микшеры Ember. В будущем миксины будут удалены из каркаса и не будут заменены напрямую. Для приложений, использующих миксины, рекомендуемый путь - это реорганизовать миксины в другие шаблоны, включая:
Чистые собственные классы, разделяющие функциональность посредством наследования классов. Служебные функции, которые можно импортировать и использовать в нескольких классах. Сервисы, которые могут быть внедрены в несколько классов, разделяя функциональность и состояние между ними.