如何声明应用级变量供所有组件使用

时间:2018-09-28 09:14:40

标签: flutter google-cloud-firestore

所以我有一个带有Firestore db变量的应用程序,我当前正在通过小部件的构造函数传递db。我的小部件可以通过任何方式获取应用程序的db变量而无需声明其属性吗?

1 个答案:

答案 0 :(得分:0)

您可以在类或函数(顶级)之外的任何位置声明此类变量。 通过导入包含共享变量的文件,可以使该共享变量可用。

另一种方法是类中的静态字段。 您还需要导入包含该类的库,并以类名作为前缀进行访问。

shared_var.dart

String globalFoo = 'foo';

class Global {
  static bar = 'bar';
}

somewhere.dart

import 'package:my_package/shared_var.dart';

void foo() {
  print(globalFoo);
}

void bar() {
  print(Global.bar);
}

main.dart

import 'package:my_package/somewhere.dart';

void main() {
  foo();
}