问题标签 [injectable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
28 浏览

angular - 在 Angular >= 7 中,使用 @Inject 比声明类 @Injectable 有什么优势吗?

我已经看到了看起来像旧的 Angular 示例,其中使用“@Inject”注释完成依赖注入......

在更高版本的 Angular (>= 7) 中,如果要注入的东西是用 @Injectable 注释的,是否仍然需要 @Inject,例如

我想我要问的是 Angular 的更高版本,还有什么理由继续使用@Inject?

0 投票
2 回答
326 浏览

firebase - Flutter Firestorage getDownloadUrl() 返回 NoSuchMethodError

在我的 Flutter 应用程序中,我正在尝试将图像上传到 Firebase 存储,然后获取 URL。图像正在上传,我可以在 Web 界面中看到它,但是当我在有效引用上调用 getDownloadUrl() 时(我可以使用调试器看到相对路径),我得到type 'NoSuchMethodError' is not a subtype of type 'Exception'并且实际错误发生在method_channel_reference.dart其中出于某种原因, wherestorage为 null 并因此storage.app引发错误。

上传代码是这样的:

我正在使用

我尝试清理、重建和降级依赖项。在这一点上,我不知道在哪里看。我想问题是存储实例被删除或根本没有初始化,但为什么上传工作呢?欢迎任何帮助。

0 投票
0 回答
25 浏览

flutter - 使用 GetIt 和 Injectable 注册路径提供程序时出现问题

我正在尝试将 path_provider 注册为依赖项,但它现在可以正常工作。

但错误说A value of type 'Future<Directory?>' can't be returned from the function 'appDirectory' because it has a return type of 'Future<Directory>'

所以我这样改了

在此之后,我得到一个运行时错误

Error: Type argument 'Directory?' doesn't conform to the bound 'Object' of the type variable 'T' on 'GetItHelper.lazySingletonAsync'.

我该如何解决这个问题?

0 投票
0 回答
180 浏览

flutter - Flutter Injectable:通过注解注入多个泛型类型实例

我在我的颤振项目中使用 get_it 进行依赖注入。现在我正在尝试用可注入的方法来用注释替换我的手写依赖文件。

我有一个特殊情况,我有一个通用的类,必须用不同的 T 值注入 3 次。

这是我的旧配置中的样子:

我怎样才能注释类以使其工作?

当我添加@injectable

我明白了(当然):

如何注释才能得到这个?

0 投票
1 回答
174 浏览

flutter - 将生成的模拟类注入“测试”环境

我目前正在尝试为项目构建小部件测试(专注于 TDD)。我正在使用 Injectable 来生成依赖注入以及在各种实现之间交换的环境。我遇到的问题是我无法@GenerateMocks([IAuthRepository])在单元测试中使用类似的东西,因此需要将模拟注入 GetIt。

在我的小部件测试中,我首先注入文本环境,然后用于getIt<IAuthRepository>()调用模拟实例,以便我可以在测试中使用whenverify

我得到的是一个错误,anyNamed("named")因为它只是被嘲笑,而不是@GenerateMocks([IAuthRepository])在我的单元测试中使用。我不明白,或者找不到答案,我应该如何使用@GenerateMocksInjectable?还是有另一种方法可以为我的测试环境生成更好的模拟?

任何指导或建议都非常受欢迎。

0 投票
1 回答
24 浏览

flutter - 如何使用可注入的泛型类型参数注册一个类?

我有一个集团,我想注册 DI:

如您所见,ViewBloc采用通用类型参数T。问题是,当可注入注册依赖项时,它做错了:

默认情况下,它被赋予一个动态类型参数,但我希望能够自己提供类型。有没有办法做到这一点?

0 投票
1 回答
180 浏览

flutter - Flutter 可注入抽象类

我正在尝试为我的项目使用可注入的,但是当我尝试这部分代码时:

发生run build_runner此错误后:

无法理解我错过了什么。

0 投票
1 回答
169 浏览

flutter - 颤振可注入解决包中的依赖项

我有一个类,它有一个Dio实例作为依赖项。我如何使用注射剂解决它?

0 投票
0 回答
23 浏览

flutter - 颤振可注入寄存器子类类型

以下代码使用injectable来配置getIt,因此当我A在“prod”环境中请求时,它给了我ImplementedA,但我无法ImplementedA明确请求。

例如,当我在“测试”环境中并且需要ImplementedA对其进行测试时。它无法访问。请问有什么解决办法吗?

例如:
env : "prod"
getIt() => 给了我 ImplementedA
getIt() => 类型为 ImplementedA 的对象/工厂未在 GetIt 中注册。

0 投票
0 回答
10 浏览

flutter - preferRelativeImports 在injectable 中的使用

我正在学习可注入库,preferRelativeImports 属性有什么作用?