代码之家  ›  专栏  ›  技术社区  ›  Joseph

在Angular 4中单击Cancel(取消)时,在中卸下加载器

  •  0
  • Joseph  · 技术社区  · 7 年前

    我有一个名为ngx加载的npm包。我必须设置这个。加载=true,此为。加载=false,使其显示而不显示。当我在javascript中使用警报时,问题就出现了。警报显示“ok”和“cancel”。当我单击“确定”时,加载程序消失,而如果我单击“取消”和“x”,它仍然出现?单击“取消”或“x”按钮时,如何使加载程序消失?下面是我所做的。

    输电系统

    onUpdate(form: NgForm) {
      this.loading = true;
    
      name =  form.value.name,
    
      if (confirm('Are you sure you want to update?')) {
        this.subscription = this.prodService.update(name)
        .subscribe(
          data => {
           this.loading = false;
           console.log(data); 
         },
         error => {
           this.loading = false;
           console.log(error);
         });
      }
    }
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   Alex    7 年前

    当用户单击“取消”时,只需添加一个else条件。

    onUpdate(form: NgForm) {
      this.loading = true;
    
      name =  form.value.name,
    
      if (confirm('Are you sure you want to update?')) {
        this.subscription = this.prodService.update(name)
        .subscribe(
          data => {
           this.loading = false;
           console.log(data); 
         },
         error => {
           this.loading = false;
           console.log(error);
         });
      } else {
        this.loading = false;
      }
    }
    
        2
  •  1
  •   Danish    7 年前

    请尝试以下操作:

    onUpdate(form: NgForm) {
      this.loading = true;
    
      name =  form.value.name,
    var _confirm = confirm('Are you sure you want to update?');
      if (_confirm ) {
        this.subscription = this.prodService.update(name)
        .subscribe(
          data => {
           this.loading = false;
           console.log(data); 
         },
         error => {
           this.loading = false;
           console.log(error);
         });
      }
    else {
     this.loading = false;
    }
    }