我正在尝试使用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调用...
在您的主要功能上尝试以下代码。