我需要將數據存儲在瀏覽器的會話中並檢索數據,直到會話退出。你如何在Angular 2中使用本地和會話存儲?Angular 2中的本地存儲
回答
使用Angular2 @LocalStorage模塊,它被描述爲:
這一點Angular2 /打字稿裝飾使它超級容易保存 和使用HTML5' 的localStorage在你的指令(類 屬性)自動恢復變量狀態。
如果需要使用Cookie,你應該看看: https://www.npmjs.com/package/angular2-cookie
這當前沒有人維護它。 – Winnemucca
的繼任者angular2 cookie的項目是NGX cookie的https://www.npmjs.com/package/ngx-cookie –
有維持和更強大(例如監聽存儲的變化,cookie和臨時內存支持) 'NGX-store'](HTTPS:// github上。com/zoomsphere/ngx-store)庫與'angular2-localstorage'兼容 –
標準localStorage
API應該可以,只是做例如: -
localStorage.setItem('whatever', 'something');
請注意,如果您尚未擁有它,則需要將"dom"
添加到您的tsconfig.json
中的"lib"
陣列。
typescript是適合我的。你有沒有找到解決方法,而不必使用列出的其他答案的npm? – Winnemucca
@Winnemucca *「throwing fits」*不是一個有用的問題陳述。我不記得除了Angular CLI包含的內容外,還增加了什麼。 – jonrsharpe
我很抱歉。我不得不進入我的ts.config文件來解決它。 「lib」:[ 「es2016」, 「dom」 ]。你有沒有添加「dom」? – Winnemucca
正如上面所說的,應該是:localStorageService.set('key', 'value');
和localStorageService.get('key');
它爲我的角4項目工作,我想感謝你爲我節省時間。 –
在api web上沒有找到關於localStorageService的文檔,我可以在這裏找到它? – stackdave
要存儲在本地存儲數據,
localStorage.setItem('key', 'value');
確保字符串化的值,例如,如果你有一個對象localStorage.setItem(itemName, JSON.stringify(itemData));
或個別鍵值對localStorage.setItem('currentUser', JSON.stringify({ token: token, name: name }));
並且從本地存儲中檢索數據user = JSON.parse(localStorage.getItem(currentUser));
感謝JSON解析提示! – nosuic
我很高興我能幫到 –
我們可以很容易地使用localStorage來設置數據和接收數據。
Note: it works with both angular2 and angular 4
//set the data
localStorage.setItem(key, value); //syntax example
localStorage.setItem('tokenKey', response.json().token);
//get the data
localStorage.getItem('tokenKey')
//confirm if token is exist or not
return localStorage.getItem('tokenKey') != null;
Local Storage Set Item
Syntax:-
localStorage.setItem(key,value);
localStorage.getItem(key);
Example:-
localStorage.setItem("name","Muthu");
if(localStorage){ //it checks browser support local storage or not
let Name=localStorage.getItem("name");
if(Name!=null){ // it checks values here or not to the variable
//do some stuff here...
}
}
also you can use
localStorage.setItem("name", JSON.stringify("Muthu"));
Session Storage Set Item
Syntax:-
sessionStorage.setItem(key,value);
sessionStorage.getItem(key);
Example:-
sessionStorage.setItem("name","Muthu");
if(sessionStorage){ //it checks browser support session storage/not
let Name=sessionStorage.getItem("name");
if(Name!=null){ // it checks values here or not to the variable
//do some stuff here...
}
}
also you can use
sessionStorage.setItem("name", JSON.stringify("Muthu"));
存儲和檢索數據很容易
你可以用裝飾來標記你想存儲變量。
export class SomeComponent {
@LocalStorage
public variableToBeStored: string;
}
示例如何實現它是在本文中:https://filipmolcik.com/angular-2-local-storage/。
美妙的解決方案 –
Save into LocalStorage:
localStorage.setItem("key",value);
For objects with properties:
localStorage.setItem("key",JSON.Stringify(object));
Get From Local Storage:
localStorage.getItem("key");
For objects:
JSON.parse(localStorage.getItem("key"));
This will save as string and retrieve as string. You need to Prase desired output
if value is non-string.
e.g. parseInt(localStorage.getItem("key"));
** It is better to use framework provided localStroage instead of 3rd party library localStorageService or anything else.
安裝「角2本地存儲」
import { LocalStorageService } from 'angular-2-local-storage';
- 1. Angular 2 +本地存儲+ JWT for IE9 +?
- 2. Angular 2 Theme Switcher本地存儲
- 3. 在Cookie或本地存儲(node/angular 2網站)中保存JWT
- 4. Angular 2閱讀本地存儲的最佳地點
- 5. 我應該直接在Angular 2中使用本地存儲嗎
- 6. Angular 2自定義緩存/本地存儲
- 7. 安全使用本地存儲的HTML Angular 2項目
- 8. 本地存儲承諾未定義的值。 Ionic 2+/Angular 4.3
- 9. 如何將HTML本地存儲服務轉換爲Angular 2中的indexedDB服務?
- 10. 如何在Angular 2中存儲值?
- 11. 如何在Angular 2+中存儲常量?
- 12. Angular 2 - 如何上傳文件並存儲在本地文件夾中
- 13. Jquery/Angular根據存儲在本地存儲中的值顯示/隱藏列
- 14. 2共享遠程存儲庫的本地存儲庫
- 15. 本地存儲問題 - 角2
- 16. 角度2認證與本地存儲
- 17. Shopify中的本地存儲
- 18. sencha中的本地存儲
- 19. HTML5中的本地存儲
- 20. boilerplate.js中的本地存儲
- 21. 如何存儲'文件'類型數據在角落2的本地存儲
- 22. angular js - 在本地存儲中動態添加數據
- 23. 如何將PDF文件存儲在Ionic 2的本地存儲根目錄中
- 24. Angular 2 - 從方法存儲值GET
- 25. Angular 2,從Github存儲庫安裝庫
- 26. 最佳實踐將數據存儲在本地存儲中
- 27. 使用角度本地存儲模塊在本地存儲陣列中存儲元素
- 28. AngularJs:在本地存儲中存儲和檢索數據
- 29. 將本地存儲模型保存到本地存儲
- 30. 離子 - 在本地存儲器中存儲加密值
的可能的複製[如何在本地或會話存儲令牌存儲在角2?](http://stackoverflow.com/問題/ 39840457/how-to-store-token-in-local-or-session-storage-in-angular-2) –