Импортировать переменные в aurelia-dialog view-model или view

Есть ли способ импортировать дополнительные переменные / данные из диалогового сервиса в контроллер?

Например, у меня есть множество возможных опций в виде моего приложения. Я получаю данные через API с сервера.

Я хотел бы отредактировать запись с помощью диалогового окна aurelia и не хочу снова получать данные, чтобы избежать ненужного трафика в моем приложении.

Как я могу передать массив в дополнение к модели. Собрать все вместе в Object и развернуть в контроллере? Насколько я знаю, метод активации контроллера принимает только один аргумент, не так ли?

Спасибо

1 ответ

Разве пример в репозитории не является тем, что вы ищете? 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);
    });
  }
}
Другие вопросы по тегам