我正在尝试创建一个包含多个模块的全局类。我正在将代码从Javascript重写为Dart。
JavaScript
import ModuleA from './modules/a'
import ModuleB from './modules/b'
import ModuleC from './modules/c'
class Parent {
constructor() {
this.moduleA = new ModuleA(this)
this.moduleB = new ModuleB(this)
this.moduleC = new ModuleC(this)
}
}
飞镖
import 'modules/a.dart';
import 'modules/b.dart';
import 'modules/c.dart';
class Parent {
ModuleA moduleA = ModuleA(parent: Parent());
ModuleB moduleB = ModuleB(parent: Parent());
ModuleC moduleC = ModuleC(parent: Parent());
}
构建后出现此错误:
[ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Stack Overflow
答案 0 :(得分:1)
您的Dart类应该具有一个构造函数,该构造函数初始化成员并在构造成员时传递this
:
import 'modules/a.dart';
import 'modules/b.dart';
import 'modules/c.dart';
class Parent {
Parent() {
moduleA = ModuleA(parent: this);
moduleB = ModuleB(parent: this);
moduleC = ModuleC(parent: this);
}
ModuleA moduleA;
ModuleB moduleB;
ModuleC moduleC;
}
答案 1 :(得分:0)
您不太正确地使用类,请转到此link for an explanation
import ModuleA from './modules/a'
import ModuleB from './modules/b'
import ModuleC from './modules/c'
class Parent {
constructor(){
this.moduleA = new ModuleA(this);
this.moduleB = new ModuleB(this);
this.moduleC = new ModuleC(this);
}
}```