我需要将数据存储在浏览器的会话中并检索数据,直到会话退出。你如何在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. 安全使用本地存储的HTML Angular 2项目
- 7. 本地存储承诺未定义的值。 Ionic 2+/Angular 4.3
- 8. 如何将HTML本地存储服务转换为Angular 2中的indexedDB服务?
- 9. 如何在Angular 2+中存储常量?
- 10. 如何在Angular 2中存储值?
- 11. Angular 2 - 如何上传文件并存储在本地文件夹中
- 12. Jquery/Angular根据存储在本地存储中的值显示/隐藏列
- 13. 本地存储问题 - 角2
- 14. 角度2认证与本地存储
- 15. Shopify中的本地存储
- 16. 如何存储'文件'类型数据在角落2的本地存储
- 17. 如何将PDF文件存储在Ionic 2的本地存储根目录中
- 18. Angular 2 - 从方法存储值GET
- 19. 最佳实践将数据存储在本地存储中
- 20. 使用角度本地存储模块在本地存储阵列中存储元素
- 21. 将本地存储模型保存到本地存储
- 22. 离子 - 在本地存储器中存储加密值
- 23. 哪里更好的地方存储数据在Angular 2中?服务还是localStorage?
- 24. Phonegap本地存储
- 25. 本地存储-jquery
- 26. Parallel.ForEach本地存储
- 27. Tabris本地存储
- 28. html5本地存储
- 29. Silverlight本地存储
- 30. JS本地存储
的可能的复制[如何在本地或会话存储令牌存储在角2?](http://stackoverflow.com/问题/ 39840457/how-to-store-token-in-local-or-session-storage-in-angular-2) –