0

我正在使用 aurelia-dialog 来显示帐户的详细信息。

我见过的所有关于 aurelia-dialog 的示例都涉及将整个对象传递给对话框并将该对象用作对话框的视图模型。我想要做的是传递 ID 并运行 AJAX 调用以获取详细数据。

让它工作很简单,但是当我从activate对话框的视图模型的调用中返回一个承诺时,在承诺解决之前,对话框根本不会显示。这很糟糕,因为有延迟。

我希望对话框立即显示并显示一个微调器,直到承诺解决。有没有一种简单的方法可以做到这一点?有人见过或做过吗?

4

1 回答 1

2

the dialog doesn't display at all until the promise is resolved这是预期的设计,你不能返回任何东西,它会显示出来。在这种情况下,您只需在 promise 解决时标记某些内容。

export class MyDialogVM {
  showSpinner = false;
  // ...
  activate(id) {
    this.showSpinner = true;
    this.http.get(`/my-api/${id}`).then(result => {
      this.showSpinner = false;
    });
  }
}

还有你的对话视图

<template>
  <!-- other stuff -->
  <i class="fa fa-spinner fa-spin" show.bind="showSpinner"></i>
  <!-- other stuff -->
</template>
于 2016-10-25T20:10:14.513 回答