2017-04-07 7 views
0

ダイアログサービスからコントローラに追加の変数/データをインポートする方法はありますか?変数をaureliaダイアログビューモデルまたはビューにインポートする

たとえば、私はapp-viewの形式で可能なオプションの配列を持っています。私はサーバーからAPIを介してデータを取得します。

私はaurelia-dialogを使ってエントリを編集したいのですが、私のアプリで不要なトラフィックを避けるためにデータを再度取得したくないです。

どのようにモデルに追加で配列を渡すことができますか。オブジェクトにまとめてパックし、コントローラーでアンラップしますか? 私が知る限り、コントローラのactivateメソッドは1つの引数しか取らないのですか?

答えて

0

は、あなたが探しているまさにリポジトリに例はないですありがとう! person属性は、settingsオブジェクト(model: this.person)を介してダイアログサービスに渡されます。これは、サーバーからフェッチしたデータである可能性があります。言及したように、モデルに複数のオブジェクトを追加することもできますが、これはダイアログのVMのactivate()メソッドで利用できます。

import {EditPerson} from './edit-person'; 
import {DialogService} from 'aurelia-dialog'; 
export class Welcome { 
    static inject = [DialogService]; 
    constructor(dialogService) { 
    this.dialogService = dialogService; 
    } 
    person = { firstName: 'Wade', middleName: 'Owen', lastName: 'Watts' }; 
    submit(){ 
    this.dialogService.open({ viewModel: EditPerson, model: this.person}).then(response => { 
     if (!response.wasCancelled) { 
     console.log('good - ', response.output); 
     } else { 
     console.log('bad'); 
     } 
     console.log(response.output); 
    }); 
    } 
} 
関連する問題