首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在angular9中添加新数据后重新加载组件

如何在angular9中添加新数据后重新加载组件
EN

Stack Overflow用户
提问于 2020-11-05 14:13:59
回答 1查看 27关注 0票数 0

我有一个第一次加载的组件。当我添加新数据时,我想要重新加载组件。有没有人可以教我如何在angular9中做到这一点?

如果我使用routeReUseStrategy,它会重新加载组件,但下一次将无法单击按钮。

EN

回答 1

Stack Overflow用户

发布于 2020-11-05 15:48:50

我用一个示例回答您,在这个示例中,您想要添加一个设备

adddevice.component.html

代码语言:javascript
复制
<form [formGroup]="deviceadd" (ngSubmit)="adddevice()" class="was-validated" >
  <div class="form-group row">
   <label class="col-sm-3 col-form-label" for="inpute1">device name</label>
      <div class="col-sm-6">
        <input type="text" class="form-control form-white" id="inpute1" [formControl]="devicetitle" required  >
        <div *ngIf="devicetitle.invalid &&  (devicetitle.dirty || devicetitle.touched) " class="alert alert-danger">
          <div *ngIf="devicetitle.errors.required">
            please inpute device name
         </div>
        </div>
      </div>
  </div>
  <div>
   <button type="submit"   class="btndestorytb btn btn-primary ml-1 waves-effect waves-light save-category" [disabled]="!deviceadd.valid" >SUBMIT</button>
   <button type="button"  [hidden]="btnmsg" class="{{cus_class}}">{{msg}}</button>
  </div>
</form>

adddevice.component.ts

代码语言:javascript
复制
devicetitle = new FormControl('', [Validators.required,]);

    deviceedite: FormGroup = this.builder.group({
    edevicetitle: this.edevicetitle,
  });
  
  showdevice()
  {
      this.api.showdevices().subscribe(
        (data) => {
          if (data.status == 200) {
            this.arrdevices = data.body;
          }
        },
        (error) => {
          if(error.status==500 )
          {
            this.msg=error.detail;
          }
        }
      );
  }

  adddevice() {
     this.api.adddevice(this.deviceadd.value).subscribe(
       (data)=>
       {
         if(data.status==200)
         {
          this.cus_class="btn btn-outline-success waves-effect waves-light width-md";
           this.btnmsg=false;
          this.msg="add device success";
          this.showdevices();
         }
       },
       (err)=>
       {
        if(err.status==500 )
          {         
            this.msg=err.error.detail;
          }

       }
     )

  }

有一点,你必须将showdevice()函数放到adddevice()函数中,当用户添加一个设备时,showdevice()函数会在组件中重新加载。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64692076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档