我只是用我的自定义 mixins 类扩展了我的 ember 组件,但不幸的是我的日志说一个错误
Assertion Failed: You must call `this._super(...arguments);` when overriding `init` on a framework object. Please update <cahyowhy-mini-blog@component:post-item::ember395> to call `this._super(...arguments);` from `init`.
Error
但在我的组件(post-item)中,我被声明为我的 init 方法
import Ember from 'ember';
import BaseController from '../controllers/base-controller';
import Likepost from '../models/likepost';
export default Ember.Component.extend(BaseController, {
posts: "",
applyLayout(){
Ember.$(document).ready(function () {
let $grid = Ember.$('#post-container').imagesLoaded(function () {
$grid.masonry({
itemSelector: '.post-item',
percentPosition: true,
columnWidth: '.post-item',
});
});
});
},
init(){
this._super(...arguments);
},
..... more code
这是我的基本控制器类
import Ember from 'ember';
export default Ember.Mixin.create({
init(){
//this._super(...arguments); //nek ra dipanggil neng component post item ra keno :(
let afterRenderExist = this.afterRender !== undefined && typeof this.afterRender === "function";
if (this.applicationRoute.documentReady && afterRenderExist) {
Ember.run.schedule('afterRender', this, function () {
this.afterRender();
});
} else if (afterRenderExist) {
this.applicationRoute.on('onDocumentReady', this, function () {
this.afterRender();
});
}
},
但是当我尝试this._super(...arguments);
在我的基本控制器中取消注释此语法时。错误消失了...
任何人都可以解决这个问题:( ...