我創建了一個名爲Carousel的類,並且要從該類內調用一個名爲Pips的類,該類將通過父子關係綁定到傳送帶。導入/導出,ES6和擴展類
我的問題是,我收到以下錯誤:
Super expression must either be null or a function, not undefined
我當前的代碼如下所示:
// carousel.js
import { Pips } from './pips'
export class Carousel {
constructor(options) {
this.pip_type = options.pip_type;
}
setup() {
this.initPips();
}
initPips() {
var p = new Pips(
{
carousel_name : 'carousel',
pip_type : this.pip_type
}
);
}
}
// pips.js
import { Carousel } from './carousel'
export class Pips extends Carousel {
constructor(options) {
super(options);
console.log('Pips Initialised');
}
}
很顯然,有一個循環依賴會但我不能看到如何避免與ES6語法時試圖擴展一個類與另一個坐在一個單獨的文件 - 如果我刪除import { Carousel }...
從pips.js然後我只是得到的錯誤Carousel is undefined
。
如果我將Pips Class移動到與我的Carousel類相同的文件中並且在它下面,那麼我不會看到這個錯誤,所以認爲問題可能與ES6吊裝導入有關。
什麼是我建立這兩個類之間關係的最佳方式?