[英]Store HTML page in memory with Angular2
我想將網頁保留在內存中,以便當我點擊后退按鈕(不是網頁瀏覽器上的那個)或路由器鏈接時,如果我已經訪問它,HTML頁面會立即加載(因為我有一些數據要加載我不想重裝)。
我見過一個帶標簽界面的方法: https : //www.w3.org/Style/Examples/007/target.en.html#tab1但它不適合我的代碼架構。
我在routerlink
中使用routerlink
來導航投擲頁面,在click上調用函數的后退按鈕轉到上一頁。
我嘗試盡可能詳細,以便人們可以更好地理解我的代碼架構和routerlink
方法的工作方式。
后退按鈕功能(獨立於routerlink
):
goBack() {
window.history.back();
}
第1頁到第2頁的路由器鏈接方法:
page1.html:
<a[routerLink]="['PAGE2']"> go to page 2</a>
page1.ts組件:
import { Router, ROUTER_DIRECTIVES } from '@angular/router-deprecated';
@Component({
selector: 'page1',
templateUrl: 'page1.html',
styleUrls: ['page1.css'],
directives: [ROUTER_DIRECTIVES]
})
main.ts:
import { RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS } from '@angular/router-deprecated';
@Component({
providers: [ROUTER_PROVIDERS]
})
@RouteConfig([
{ path: '/page2', name: 'PAGE2', component: Page2}]) //component representing class Page2 in page2.ts
我們歡迎任何幫助我管理它的想法,謝謝!
只需緩存服務中的數據,如在RxJs 5中分享Angular 2 Http網絡調用結果的正確方法中所述?
當您離開並返回組件時,目前無法阻止路由器重新創建組件。
那么,對於那些有同樣問題的人,我認為管理它的最好方法是將數據映射到localStorage key
如下所示:
localStorage.setItem('favoris',JSON.stringify(my_array)); //set my data array
array = JSON.parse(localStorage.getItem('key_name')); //get in array
然后路由器調用的類中的ngOnInit
將調用初始函數,具體取決於localStorage key
是否為真。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.