angular 2,如何从此表中删除元素后刷新表数据

时间:2017-10-19 11:42:49

标签: angular

1 .list-of-links.component.html

<table class="table">
        <thead>
        <tr>
          <th>
          №
          </th>
          <th>
           Logo
          </th>
          <th style="text-align: center">
            Link
          </th>
          <th>
            Action
          </th>
        </tr>
        </thead>
        <tbody>
        <tr class="active"  *ngFor="let link of list ; let i=index">
          <td>
            {{i+1}}
          </td>
          <td>
            <img *ngIf="link.domain ==='rutracker.org'" src="https://lh4.ggpht.com/S0dUXg8MuXp4_AUaIvmO5c-qJ5bH_vKtpdI5B7gHhiTAJF-t-UJYR9uuAPF7qN4fUA=w300" height="30" width="30">
          </td>
          <td style="text-align: center">
            <a href="{{link.torrentLink}}" >{{link._linkID.linkTitle}}</a>
          </td>
          <td>
            <button (click)="onSubmitForDelete(this.list[i]._linkID._id)" >delete</button>
          </td>
        </tr>
        </tbody>
      </table>

2。这个html的组件

 private list ;

      constructor(private listOfLinks : ListOfLinks) {

      }

      async ngOnInit() {
        this.list = await this.listOfLinks.getLinksList();
      }

      async onSubmitForDelete (data){
         try{
           this.listOfLinks.deleteLink(data);
         }catch(err){
           return err;
         }
      }
  1. 服务功能
  2.  deleteLink (_linkID){
        return this.http.get('/api/delete/'+_linkID).toPromise()
      }
    

    正如你在上面的组件中看到的,我有一些数据列表..我可以从这个列表中删除数据(我有一些服务可以做到这一点)。但我无法理解如何在删除此列表中的任何组件后刷新我的表

2 个答案:

答案 0 :(得分:1)

async onSubmitForDelete (data){
try{ 
   await this.listOfLinks.deleteLink(data); 
   this.list = await this.listOfLinks.getLinksList();
}catch(err){
   return err; 
} } 

- &GT;&GT;希望它会帮助某人)感谢您帮助&#34; kemsky&#34;和&#34;丹尼斯&#34;

答案 1 :(得分:0)

async onSubmitForDelete (data){
     try{
       this.listOfLinks.deleteLink(data).then(() => {
           // Find index of "data" in your "list" and delete that element from your list yourself
           // OR
           // request the whole list again from your service and populate "list" again
       };
     }catch(err){
       return err;
     }
  }