我第一次使用 Aurelia。在学习联系人管理器教程时,我遇到了一个问题RouteConfig.navModal.title
。每次我尝试触发那条线时,我都会得到
Uncaught (in promise) TypeError: this.routeConfig.navModal is undefined
我的代码看起来像这样:
这是我的 .ts 文件:
async save() {
await this.api.saveContact(this.selectedContact)
.then((contact: IContact) => {
this.selectedContact = {
id: contact.id,
firstName: contact.firstName,
lastName: contact.lastName,
email: contact.email,
phoneNumber: contact.phoneNumber
}
});
this.routeConfig.navModal.title = this.selectedContact.firstName;
this.originalContact = JSON.parse(JSON.stringify(this.selectedContact));
}
这是我的 .html 文件,正是触发按钮的位置:
<div>
<button
class="btn btn-success float-right"
click.delegate="save()"
disabled.bind="!canSave"
>
Save
</button>
</div>
这也是我的 api.saveContact 方法:
saveContact(contact: IContact){
this.isRequesting = true;
return new Promise<IContact>(resolve => {
setTimeout(() => {
let instance = JSON.parse(JSON.stringify(contact));
let found = contacts.filter(x => x.id == contact.id)[0];
if(found){
let index = contacts.indexOf(found);
contacts[index] = instance;
}else{
instance.id = getId();
contacts.push(instance);
}
this.isRequesting = false;
resolve(instance);
}, latency);
});
}
整个问题是一致的:
this.routeConfig.navModal.title = this.selectedContact.firstName;
我究竟做错了什么?
PS。我也试过this.routeConfig.navModal.setTitle(this.selectedContact.firstName);
了也没有用。