问题标签 [toothpick-di]

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 投票
0 回答
69 浏览

android - 在 BaseViewModel 中注入依赖项

我有一个项目,其中基本逻辑应用于应用程序中的所有屏幕。所以我把这个逻辑移到了 BaseViewModel。在其中我需要存储库和路由器等依赖项。我不能将这些依赖项作为构造函数参数提供,因为我需要继承这个类。所以我只使用场注入。

BaseViewModelImpl.kt

BaseFragment.kt

这是一个好方法吗?有没有办法避免有关泄漏的警告?哪个范围更适合用于 BaseViewModel?

PS var isViewDestroyed 用于不在前一个片段上显示对话框(当我们向前移动时)。

您可以在这里看到完整的项目: https ://github.com/FirstSpectr/ViewModelInheritance

0 投票
0 回答
32 浏览

kotlin - 如何使用牙签注释实现范围单例?

我有一个具有许多类似分片对象的非 Android 应用程序,并且我希望每个分片(数据库客户端、DAO ......)中的所有对象都是单例的。

为此,我创建了一个 ShardSingleton 注释:

我在自己的范围内创建每个分片对象:

为了让我的 DAO 实际上成为其分片中的单例,我必须同时使用@ShardSingleton和注释它@Singleton

乍一看(可能出于无知),我认为@ShardSingleton就足够了。

是预期的吗?

这是演示该行为的要点: https ://gist.github.com/bfreuden/a866b21c5a6342a3ce1ed26aa636f9f6

0 投票
0 回答
13 浏览

toothpick-di - 牙签可以发现范围提供者吗?

可以以这样一种方式注释提供程序类,使用定义的绑定将它们“声明”到 Toolpick 是没有用的installModules

我有一个配置类:

以及使用这样一个配置类的应用程序类:

以下代码正在工作:

是否可以编写一个 Provider 以达到相同的效果(但没有 installModules 方法调用)?

我尝试过这样的事情,但它不起作用:

这是演示该行为的要点:https ://gist.github.com/bfreuden/3c370e1214d963b62ee1c96912d4c8dd

0 投票
0 回答
26 浏览

kotlin - 尝试编译时出现异常 IndexOutOfBounds (Kotlin)

我对 Toothpick 还很陌生,今天我决定在我目前正在进行的一个小项目中对其进行测试。但是当我尝试编译时,kapt抛出了一个异常但我真的不明白它的意思,我已经尝试在谷歌上查找它,但似乎没有人使用 Toothpick 遇到这个问题(还),所以这是我最后的手段。提前致谢。

Stacktrace(使用详细模式): https ://paste.helpch.at/uqusanaheh.cs

gradle.build.kts(我使用的是 Gradle 7.2 版本)

主类(GTFix)