2017-04-07 31 views
0

有没有办法将其他变量/数据从对话框服务导入控制器?将变量导入aurelia-dialog视图模型或视图

例如,我在我的应用程序视图的窗体中有一个可能的选项数组。我通过服务器的API获取数据。

我想编辑一个带有aurelia对话框的条目,并且不想再次获取数据以避免在我的应用中产生不必要的流量。

我该如何将数组另外传递给模型。将它们全部打包在一个对象中,并将其打包在控制器中? 据我所知,控制器的activate-method只需要一个参数,不是吗?

谢谢

回答

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); 
    }); 
    } 
}