0

我第一次使用 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);了也没有用。

4

0 回答 0