如何在扑扑中使用依赖注射?

Zer*_*ess 3 android dependency-injection dart angularjs flutter

我想用di。扑朔迷离,我将这个https://pub.dartlang.org/packages/di包添加到我的项目中,我开始阅读这篇https://webdev.dartlang.org/angular/guide/dependency-injection文章,但我不知道不太了解。

这样就可以了:在服务类(例如MyServices)上使用@Injectable()批注,但是如何注入其他类呢?例如,我想类似:

class MyClass{
   //some variable
   var asd = MyService.asd; //need inject var.
                            //maybe use injector.get(MyService).asd; 
                            //but how add injector? (I don't add across constructor)

   MyService.oneMethod;//need inject method
}

main(){
    var injector = new ModuleInjector([new Module()
       ..bind(MyService)
    ]);
}
Run Code Online (Sandbox Code Playgroud)

关键是,我不想使用构造函数。我想直接使用喷油器。这是可能的扑/飞镖?

小智 6

Google最近开放了一个Flutter兼容的依赖项注入框架。可以在这里找到:https//github.com/google/inject.dart

该项目提供静态编译时依赖项注入,而不是依靠反射在运行时注入依赖项。如果您熟悉Dagger,它似乎非常相似。

值得注意的是-这不是Google或Dart官方团队的项目。在撰写本文时,几乎没有文档,并且目前被认为是开发人员预览。


Gün*_*uer 5

Angulars DI包不能独立于Angular使用。

包是相当过时,而且要看dart:mirrors它是不是可以在颤振

似乎有一个新的DI软件包正在开发中,它应该取代Angulars内置的DI,并且也应该在Flutter或服务器端应用程序中可以独立使用,但是尚无预发行版或源代码。

更新

宣布的DI软件包被无限期延迟。