ページ内のリストアイテムを消去できるお気に入りのリストを作成しています。 _Ionic sqlite
_ストレージに基づいています。
Ionicページは、リストページに再度入るまで、削除されたイオンリストアイテムを保持します。したがって、ionic storageからアイテムを削除するときに、ページを更新する必要があります。 。
特定のページを更新するにはどうすればよいですか? window.location.refresh()
はページ全体を更新しているようです…これは私がやろうとしていることではありません。
navCtrl.setRoot()
も機能しないように、アプリの20ページのうち1ページを更新する必要があります。
前もって感謝します、
これを試してみてください?
this.navCtrl.setRoot(this.navCtrl.getActive().component);
アイテムのリストを取得する場合は、ngForディレクティブを使用してアイテムを表示することをお勧めします。そうすれば、リストを更新するときに、ページなどを更新しなくても、リストが表示されている場所で自動的に更新されます。短い例を次に示します。
[〜#〜] html [〜#〜]
<ion-content>
<ion-list>
<div *ngFor="let item of items">
<p>{{item.name}}</p>
</div>
<button (click)="deleteFromArray()">Delete From Array</button>
<button (click)="addToArray()">Add To Array</button>
</ion-list>
</ion-content>
TypeScript
items: any[] = [{name:'Penguin'},{name:'Seal'},{name:'Lion'}];
deleteFromArray() {
this.items.pop();
}
addToArray() {
this.items.Push({name: 'Whale'});
}
お役に立てれば!
これがあなたに必要なものかどうかはわかりません:
ページをルートにポップしてから、ページを押し戻します。トランジションエフェクトを適用して、エフェクトを緩和することができます。
this.navCtrl.popToRoot().then(() =>{
this.navCtrl.Push(YourPage);
});
ngZoneを使用します。コンポーネントが更新されます。
import { NgZone } from '@angular/core';
constructor(private zone: NgZone) {}
refresh() {
this.zone.run(() => {
console.log('force update the screen');
});
}