Dart:如何使FireStore文档项目在另一类中可用

时间:2018-11-12 15:58:59

标签: firebase class methods dart google-cloud-firestore

我有一个FireBase服务,该服务可以处理从Firebase Firestore提取的所有数据。

当我需要调用特定文档时,我使用了getId(id)方法,并传入了所需的ID。

List<Hero> hero = [];


getId(id) {
    fs.Firestore store = firestore();
    fs.CollectionReference  ref = store.collection('items');

    ref.doc(id).get().then((documentReference) {
      var docRef = documentReference.data();
      var id = docRef['id'];
      bool pickupNeeded = docRef['pickupNeeded'];
      var name = docRef['name'];
      var url = docRef['id'].toString();
      bool partPickup = docRef['partPickup'];
      var item = Hero(id, name, pickupNeeded, url, partPickup);
      hero.insert(0, item);
    });
    return hero;
  }

回到上课的电话,我打电话:

@override
  void onActivate(_, RouterState current) async {
    final id = RoutePaths().getId(current.parameters);
    machineNumber = id.toString();
    if (id != null) hero = await (_service.getId(machineNumber));
  }

_service是FirebaseService。

回到Hero类,我需要能够访问文档中的各个项目:id,pickupNeeded,url,partPickup等。

这些组件是列表的一部分怎么办?

或者是否有更好的方法来调用文档,以使各个值更易于访问?谢谢

0 个答案:

没有答案