将变量导入aurelia-dialog视图模型或视图

时间:2017-04-07 14:46:32

标签: aurelia aurelia-dialog

有没有办法将对话服务中的其他变量/数据导入控制器?

例如,我在app-view的形式中有一系列可能的选项。我从服务器通过API获取数据。

我想用aurelia对话框编辑一个条目,并且不想再次获取数据以避免我的应用程序中出现不必要的流量。

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

谢谢

1 个答案:

答案 0 :(得分:1)

存储库中的示例不是您正在寻找的吗? person属性通过settings对象(model: this.person)传递给对话服务。这可能是您从服务器获取的数据。正如您所提到的,您当然可以向模型中添加多个对象,这些对象将在对话框的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);
    });
  }
}