在飞镖/颤振中访问全局变量

时间:2020-07-10 11:09:41

标签: flutter variables dart global

我似乎无法从flutter / dart中的其他类访问全局变量 _firestore loggedInUser 。根据我在文档中和在线阅读的内容,这应该可行吗?

创建全局变量:

   import 'package:cloud_firestore/cloud_firestore.dart';
    
    final _firestore = Firestore.instance;
    FirebaseUser loggedInUser;
    
    class TheSlateScreen extends StatefulWidget {

尝试在此处访问它们:

import 'package:theslate/screens/theslate_screen.dart';

class SlateTasks extends ChangeNotifier {

 void addTask(String newTaskTitle) {

    _firestore.collection('Test').add({
      'Task': newTaskTitle,
      'User': loggedInUser.email,
    });

1 个答案:

答案 0 :(得分:3)

变量名前的下划线_表示该变量是私有的。 全局变量应为公共变量,另一方面,公共变量应以_开始 通过将“ final _firestore = Firestore.instance”更改为“ final firestore = Firestore.instance”,您应该能够全局访问变量。

使私有变量在全局级别上被访问的另一种方法是添加如下的getter: Firestore get firestore => _firestore;