[英]How to instantiate a class(ClassA) inside another class(ClassB) and use the ClassA object as a property in ClassB in JavaScript?
[英]How to pass 'this' from ClassA to ClassB?
我正在尝试创建一个包含多个模块的全局类。 我正在将代码从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
您的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;
}
您不太正确地使用类,请转到此链接以获取说明
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);
}
}```
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.