带有http请求的页面内的离子更新项

时间:2018-01-01 20:28:13

标签: ionic-framework

祝大家新年快乐。 我有一个问题是使用http请求更新列表中的项目: 这是我的代码: in ts

ionViewWillEnter() {
const data = JSON.parse(localStorage.getItem('userData'));
this.userDetails = data.userData;

  this.run_scriptsvis = setInterval(() => {
    if (localStorage.getItem('sessionnewvisites') === '1') {
      this.getnewvisit();
      localStorage.removeItem('sessionnewvisites');
    console.log('refresh');
    } else { 
      console.log('no refresh');
  }
  }, 3000);
}

 getnewvisit() {

return new Promise(resolve => {
this.http.request("https://website.fr/update.php).map(
res => res.json()).subscribe(datacool => {
  console.log(datacool.resultcool);
  this.datacool = datacool.resultcool;

  console.log(this.datacool);

});
}); 
}

在我的HTML中我有这个:

 <ion-row no-padding> 
    <ion-col col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12>
      <ion-list no-margin>
          <ion-item-sliding *ngFor="let user of datacool" (ionSwipe)="delete(user)">
        <ion-item style="min-height:10vh" class="cardcolor item-tittle" no-padding text-wrap (click)="openprofile(user.userid)">
          <div item-left no-margin>
            <img style="max-width: 80px;margin-left: 7px;" src="{{user.tnpicture}}">
          </div>
          <div item-top>
            <h2 text-wrap><img src="{{user.online}}"> {{user.username}}</h2>
          </div>
          <div class="span-small">
            {{user.age}} ans, {{user.gender}}
          </div>
          <div item-bottom>
            <div class="span-small" text-left><ion-icon name="pin"></ion-icon> {{user.countyname}}</div>
            <div></div>
            <h3 left padding-left>{{user.date}}</h3>
        </div>
        </ion-item>
        <ion-item-options>
            <button ion-button expandable (click)="delete((user.id))" >delete</button>
          </ion-item-options>
        </ion-item-sliding>
      </ion-list>
    </ion-col>

  </ion-row>

代码工作正常,并在有新数据时进行更新。 问题是我不想重新修改旧项目并将其替换为新项目。 我希望顶部的新项目和新项目底部的旧项目。 非常感谢你帮助我

1 个答案:

答案 0 :(得分:0)

谢谢我找到了解决方案

users2: any[] = [];


getnewvisit() {

return new Promise(resolve => {
this.http.request("https://website.fr/update.php).map(
res => res.json()).subscribe(datacool => {
console.log(datacool.resultcool);
this.datacool = datacool.resultcool;
for (let i = 0; i < this.datacool.length; i++) {
    this.users2.push(this.datacool[i]);
  }
console.log(this.datacool);

});
}); 
}