Итак, мое приложение имеет этот компонент .js:
import Component from '@ember/component';
import layout from './template';
export default class MyComponent extends Component {
layout = layout;
init() {
this._super(...arguments);
}
}
Когда компонент отображается, я получаю эту ошибку в консоли Chrome:
Assertion Failed: You must call `this._super(...arguments);` when overriding `init` on a framework object. Please update <savings-toolkit@component:my-component::ember2445> to call `this._super(...arguments);` from `init`.
Контент не загружается. Хотел бы я сказать больше, но серьезно, какого черта?
Да, поначалу было больше контента, когда я начинал. Однако в настоящее время это буквально не что иное, как вышеперечисленное.
Никто не отвечает, но я нашел ответ.
Если вы используете классы, то есть export default class myComponent extends Component
, в отличие от старого способа (export default Component.extend
), вы не должны использовать this._super
. Вместо этого вы используете ключевое слово super
:
super.init(...arguments);
Также обратите внимание на разницу между
constructor
иinit
в родных классах. Вы можете найти больше информации о различиях в этой замечательной записи в блоге: pzuraq.com/combining-soon-in-ember-octane-part-1-native-classes.