0

有没有办法将额外的变量/数据从对话服务导入控制器?

例如,我的应用视图形式有一系列可能的选项。我通过 API 从服务器获取数据。

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

我怎样才能将数组另外传递给模型。将它们全部打包在一个对象中并在控制器中解包?据我所知,控制器的激活方法只需要一个参数,不是吗?

谢谢

4

1 回答 1

2

存储库中的示例不正是您正在寻找的吗?该person属性通过settings对象 ( model: this.person) 传递给对话服务。这可能是您从服务器获取的数据。正如您所提到的,您当然也可以将多个对象添加到模型中,这将在activate()您的对话框 vm 的方法中可用。

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);
    });
  }
}
于 2017-04-07T19:57:52.520 回答