2017-05-23 12 views
1

私はdiを使いたいです。ばらばらになって私はこのhttps://pub.dartlang.org/packages/diパッケージを追加して私のプロジェクトをパッケージ化し、このhttps://webdev.dartlang.org/angular/guide/dependency-injectionの記事を読んだが、私は完全に理解していない。dependecy injectionのflutterでの使い方は?

だから大丈夫です: サービスクラス(例: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) 
    ]); 
} 

ポイントは、私は、コンストラクタを使用する必要はありません。私は直接注射器を使いたい。これはフラッタ/ダーツで可能ですか?

答えて

2

角度DIパッケージは、角度とは独立して使用することはできません。

diパッケージはかなり古くなっているとフラッター

では利用できないdart:mirrorsに依存内蔵のDI Angularsを置き換えることになっているともあるべき進行中の新しいDIパッケージの仕事があるようですFlutterまたはサーバー側のアプリケーションではスタンドアロンで使用できますが、まだリリース前またはソースコードはありません。

更新

発表されたDIパッケージが無期限に延期されました。

+0

ありがとうございました! – ZeroProcess

+0

すぐに利用できる新しいDIパッケージの早期プレビューを行うことに近いと数回言及されました。私も "すぐに"すぐに;-) –

+0

'ng_di'パッケージなどを試してみることができます。コードジェネレータとデコレータを使用して同じ動作を取得します。 – Darky

1

クラスをシングルトンとして使用する場合は、私が見たことから、一般的な使用法はファクトリコンストラクタを使用することです。

How do you build a Singleton in Dart?

は今のフラッターと任意の依存性注入システムを使用していたことはありません。

関連する問題