Angular 当我多次单击“登录”按钮时,它会加载与该按钮单击次数相同的其他页面。我如何防止这种情况?

Angular 当我多次单击“登录”按钮时,它会加载与该按钮单击次数相同的其他页面。我如何防止这种情况?,angular,ionic2,Angular,Ionic2,当我在按下Login按钮后导航页面之前多次单击Login按钮时,它打开页面的时间与按下Login按钮的时间相等。 例如:当我点击登录按钮时,它被导航到xyz页面。 假设我连续单击10次登录按钮,然后页面xyz将打开10次,然后我必须按10次才能注销xyz。 我怎样才能防止这种情况发生?这背后的原因是什么? 该应用程序是在ionic2和angular2上开发的。 如果需要任何进一步的信息,请让我知道。 截图附于此。 我的代码: ` 电子邮件 暗语 登录 ` 禁止再次单击按钮 <butto

当我在按下Login按钮后导航页面之前多次单击Login按钮时,它打开页面的时间与按下Login按钮的时间相等。 例如:当我点击登录按钮时,它被导航到xyz页面。 假设我连续单击10次登录按钮,然后页面xyz将打开10次,然后我必须按10次才能注销xyz。 我怎样才能防止这种情况发生?这背后的原因是什么? 该应用程序是在ionic2和angular2上开发的。 如果需要任何进一步的信息,请让我知道。 截图附于此。 我的代码: `


电子邮件
暗语

登录 `
禁止再次单击按钮

<button (click)="login()" [disabled]="disableButton"> </button>


login(){
  .....
  this.disableButton= true;
}

登录(){
.....
this.disableButton=true;
}

禁止再次单击按钮

<button (click)="login()" [disabled]="disableButton"> </button>


login(){
  .....
  this.disableButton= true;
}

登录(){
.....
this.disableButton=true;
}

就像@Math10建议的那样,更好的处理方法是显示:

一种覆盖,可用于在阻止用户时指示活动 互动

这样,您不仅会阻止用户交互,而且用户会得到一些反馈,并知道发生了什么

public onLogin(): void {
  let loading = this.loadingCtrl.create({
    content: 'Please wait...'
  });

  // Show the loading indicator
  loading.present();

  // your code...

  // After the server returns a response, you can hide the loading indicator
  loading.dismiss().then(() => {
    // here you can redirect the user to the next page or show an error
  });
}

正如@Math10所建议的,更好的处理方法是显示:

一种覆盖,可用于在阻止用户时指示活动 互动

这样,您不仅会阻止用户交互,而且用户会得到一些反馈,并知道发生了什么

public onLogin(): void {
  let loading = this.loadingCtrl.create({
    content: 'Please wait...'
  });

  // Show the loading indicator
  loading.present();

  // your code...

  // After the server returns a response, you can hide the loading indicator
  loading.dismiss().then(() => {
    // here you can redirect the user to the next page or show an error
  });
}

我已经把代码放在这里了,我可以把你建议的东西放在这里吗?@Aravind
this.disableButton=true显示未找到disableButton属性。属性为
已禁用
且未
disableButton
我已放置了我的代码,是否应将您建议的相同内容放置在此处?@Aravind
this.disableButton=true
shows disableButton属性未找到。属性已禁用,而不是执行登录操作时显示加载控件。Thank you@Math10正确的方法是在执行登录操作时显示加载控件。Thank you@Math10谢谢:)@sebaferra很乐意帮忙:)谢谢:)@sebaferra很乐意帮忙:)