flutter - 其他 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
。我该如何解决?
解决方案
将 headerContainer 变量设为静态,以便您可以在任何地方访问它
推荐阅读
- assembly - 如何使用汇编代码实现逻辑门?
- sql - 在查询中计算每周付款后的每月余额
- sql - 如何在 XML 中为 Oracle SQL 编写条件?
- d - 模板化类实例的数组
- android - Android Room onConflict = OnConflictStrategy.IGNORE 不工作
- java - 带有 XML 参数的 REST 服务操作上的 HTTP 错误 415 不受支持的媒体类型(Jersey + Jetty)
- c# - JsonConvert.SerializeObject() 抛出 InvalidOperationException
- c# - 如何在服务器端检查 ModelState.IsValid 之前只删除一个验证属性?
- angular - 强制方法为真而不执行它
- google-api - 如何使用 CampaignId 和日期范围检索转化 gclid 列表?