Импортировать переменные в 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);
});
}
}