首页 > 解决方案 > 其他 dart 文件中的颤振访问变量

问题描述

我想访问HeaderContainer另一个 .dart 文件中的对象实例。该对象在运行之前在启动期间被实例化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。我该如何解决?

标签: flutterdart

解决方案


将 headerContainer 变量设为静态,以便您可以在任何地方访问它


推荐阅读