我有一个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等。
这些组件是列表的一部分怎么办?
或者是否有更好的方法来调用文档,以使各个值更易于访问?谢谢