在研究了幾天這個問題之后,我似乎已經走到了死胡同。
我正在處理,我假設,是一個相當常見的場景:在用戶導航到某個頁面并進行一些更改(輸入欄位的內容,滾動網格資料甚至更改一些可編輯的單元格值)后,他導航到不同的頁面。當用戶回傳原始頁面時,所有更改必須保持不變。
現在,這意味著上述輸入欄位中的游標必須位于同一位置,網格中的滾動位置和更改的單元格值以及用戶所做的任何其他更改都必須保留。
像在 localStorage 中存盤資料、使用服務甚至自定義重用策略這樣的解決方案都行不通,因為保存多個子組件中包含的大量資訊是不可能的。
目前,我正在考慮 DOM 操作,其中渲染的模板將在onDestroy鉤子中移動到父組件中的容器,并稍后在onInit中回傳。當然,這是瑪麗的一次嘗試,感覺非常不自然。
我希望有人之前已經(并解決了)這個問題,因為就像我提到的那樣,它看起來像是相當常見的使用模式。
uj5u.com熱心網友回復:
與 React 相比,在角度方面沒有太多選擇,
我可以向您推薦的是,將“環境”中的所有資料作為物件存盤,并在用戶路由回傳時從環境中填充資料。
通常我會這樣做,當組件加載時,我將值存盤在物件中。當呼叫銷毀時,所有這些物件都會進入一個主要物件下的環境。
當 oninit 呼叫時,我正在檢查物件是否具有值并將頁面恢復到原來的位置。
uj5u.com熱心網友回復:
我認為您正在尋找 Angular RouteReuseStrategy,Angular 可以在其中快取一些路由狀態,而不會破壞組件狀態,因此當用戶訪問相同的路由時,將使用快取視圖 RouteReuseStrategy Docs。
您也可以查看這篇中型文章,實作所需的方法 中型
uj5u.com熱心網友回復:
對于少量資料,我們可以使用您提到的服務或本地存盤對于我們可以使用的大量資料
NgRx
https://dzone.com/articles/angular-app-state-management-with-ngrx
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/445428.html
標籤:javascript 有角度的 angularjs 角度路由
上一篇:垂直選單中沒有對齊和缺少專案
