私はカルーセルと呼ばれるクラスを作成しています。そのクラスの中から、親子関係を通じてカルーセルに結びつく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');
}
}
起こって循環依存があることは明らかですしかし、別のファイルにある別のクラスに1つのクラスを拡張しようとすると、ES6の構文でそれを避ける方法がわかりません。import { Carousel }...
をpips.jsから削除すると、単にエラーが発生しますCarousel is undefined
。
Pipsクラスを私のカルーセルクラスと同じファイルに置くとその下にある場合、このエラーは発生しません。そのため、問題はES6ホイストインポートであると考えられます。
この2つのクラスの間にこの関係を確立するにはどうすればよいでしょうか?