2016-11-28 7 views
0

デモページに示すように、不可欠ダイアログでの作業:必須のダイアログで作業する場合、コンポーネントのパラメータはどのように指定しますか?

let pDialog = this.dialogService.showCustomDialog({ 
    component: LoginDialogComponent, 
    providers: [{provide: TEST_VALUE, useValue: 'Just an example'}], 
    isModal: true, 
    styles: {'width': '350px'}, 
    clickOutsideToClose: true, 
    enterTransitionDuration: 400, 
    leaveTransitionDuration: 400 
}); 

私はLoginDialogComponentの引数を提供するにはどうすればよい、それはいくつかの必要があるの?これも可能ですか?予め

おかげで、このユースケースのためのいくつかのコードが既に存在する例で

C
+0

"showCustomDialog"の設定を強化し、コンポーネントのMdlDialogReferenceを使用してアクセスしました。私はこれが行く方法だと思いますか? – curiosity

+0

私はこのライブラリのコードを覗き見しましたが、 'MdlDialogReference'はアクセスするための' LoginDialogComponent'インスタンスへの参照を保持していないようです。 – philipooo

答えて

0

providers: [{provide: TEST_VALUE, useValue: 'Just an example'}],

あなたはLoginDialogComponentのコンストラクタに文字列Just an exampleを注入するためにこれを使用することができます。あなたはTEST_VALUE次のように初期化する必要が前に

は:

constructor(@Inject(TEST_VALUE) private myValue: string) {} 

それとも代わり

const TEST_VALUE = new OpaqueToken("test_value"); 

を次に、あなたが値を取得するには、この方法であなたのコンポーネントのコンストラクタを拡張することができますあなたはオブジェクトを渡すこともできます。これは次のようになります。

providers: [{provide: TEST_VALUE, useValue: <IMyDialogArgs>{ 
    foo: "foo", 
    bar: 0 
}}], 
+0

こんにちはphilipoooさん、 お返事ありがとうございます。だから、私はいくつかの文字列を渡したい場合は、複数の不透明なトークンが必要ですか? – curiosity

+0

あなたは好きなものを渡すことができます。文字列の代わりに、異なるキーを持つオブジェクトを渡すこともできます。上記の例を追加しました。 – philipooo

+0

ありがとう。 – curiosity

関連する問題