有没有办法将对话服务中的其他变量/数据导入控制器?
例如,我在app-view的形式中有一系列可能的选项。我从服务器通过API获取数据。
我想用aurelia对话框编辑一个条目,并且不想再次获取数据以避免我的应用程序中出现不必要的流量。
如何将数组另外传递给模型。将它们一起打包在一个对象中并将其打包在控制器中? 据我所知,控制器的activate-method只接受一个参数,不是吗?
谢谢
答案 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);
});
}
}