如何解决'XXXX类型的对象未在GetIt中注册的问题?”>

问题描述 投票:0回答:1

我正在尝试使用get_it来创建要使用的单例对象。我不希望使用连接到Firebase的API的多个对象。单例对象是Api调用firebase的对象。

我使用了以下代码

locator.registerLazySingleton<Api>(() => new Api('teams')) ;

以下代码有效时

locator.registerLazySingleton<TeamViewModel>(() => new TeamViewModel()) ;

Api类的结构如下:

class Api{
  final Firestore _db = Firestore.instance;
  final String path;
  CollectionReference ref;

  Api( this.path ) {
    ref = _db.collection(path);
  }

  Future<QuerySnapshot> getDataCollection() {
     return ref.getDocuments() ;
  }
}`

这是我使用API​​单例对象的方式:

Api _api = locator<Api>();

虽然以下代码可以正常工作:

Api _api = Api('team');

我在控制台中收到以下错误:

I / flutter(2313):构建MultiProvider时引发了以下_Exception:

I / flutter(2313):例外:Api类型的对象未在GetIt中注册

我想知道使用getit是否有可能不是正确的方法。

我正在尝试使用get_it来创建要使用的单例对象。我不希望使用连接到Firebase的API的多个对象。单例对象是Api调用...

android firebase flutter flutter-dependencies
1个回答
0
投票

在您的主要功能上尝试以下代码。

© www.soinside.com 2019 - 2024. All rights reserved.