我试图在下面的代码中在ClassTwo中创建ClassOne的实例,但是我遇到了错误%7B%22url%22%3Anull%2C%22landing_page%22%3A%22%5C%2F%5C%2Fwww.site.com%5C%2FcookieTest.php%3Ftest%3Dtest%22%2C%22date%22%3A%222018-07-05+17%3A33%3A34%22%7D
和Invalid constructor name
,我该如何正确地做到这一点
Undefined class 'instOne .person
答案 0 :(得分:0)
您可以在ClassOne
中创建ClassTwo
的实例,因为您正在定义一个字段,但是请考虑一下:该代码何时执行? instOne.person;
。现在要解决该问题,您必须在构造函数或小部件的initstate中执行此代码,并且首先执行构造方法之间的区别
在构造函数中
var instone= ClassOne();
_ClassTwoState(){
instone.person="test";
}
处于小部件的初始状态
@override
void initState() {
instone.person="test";
super.initState();
}
还必须在ClassTwo
中声明要在ClassTwoState
中使用的字段和函数
class ClassOne extends StatefulWidget {
var person= 'myname';
hey(){
print('hey hello');
}
@override
ClassOneState createState() => ClassOneState();
}