我想访问另一个.dart文件中的HeaderContainer
对象的实例。在运行runApp();
之前,启动期间会实例化该对象。我在WidgetsFlutterBinding.ensureInitialized();
的开头有main.dart
。
我的简化版main.dart:
class HeaderContainer {
Header header;
HeaderContainer({this.header});
Header getHeader() {
return header;
}
}
void main() {
WidgetsFlutterBinding.ensureInitialized();
Header header = new Header();
HeaderContainer headercontainer = new HeaderContainer(header: toc);
runApp(
MaterialApp(
home: MyTabs(),
),
);
}
我简化的其他Dart文件:
class _MeasureListState extends State<MeasureList> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.grey[300],
body: Column(
children: getWidgetList(),),
);
}
}
List<Widget> getWidgetList() {
Header toc = headercontainer.getHeader();
return toc.results.map((result) {
return MeasCard(result: result);
}).toList()
}
但是当我尝试访问该对象时,总是出现错误The name 'header' isn't defined
。我该如何解决?
答案 0 :(得分:1)
将headerContainer变量设为静态 这样您就可以在任何地方访问它
答案 1 :(得分:1)
在标头对象声明中使用static关键字
静态标头标头= new Header();
然后使用HeaderContainer.header或classname.header
进行访问