ngStorage和$window.localStorage之间的区别
Difference between ngStorage and $window.localStorage
ngStorage和$window.localStorage之间有什么区别?什么时候用一个比用另一个更好?我必须为网络应用程序选择其中一个。我必须保存配置文件用户和令牌的数据
这是正常的html5本地存储:
通过本地存储,web应用程序可以在用户浏览器中本地存储数据。在HTML5之前,应用程序数据必须存储在cookie中,包括在每个服务器请求中。本地存储更安全,大量数据可以在本地存储,而不会影响网站性能。与cookie不同,存储限制要大得多(至少5MB),信息永远不会传输到服务器。本地存储是按源(按域和协议)进行的。来自同一来源的所有页面都可以存储和访问相同的数据。
它为您提供了访问存储的对象-window.localStorage和window.sessionStorage
window.localStorage-存储没有到期日期的数据
window.sessionStorage-存储一个会话的数据,因此当浏览器选项卡关闭时数据会丢失
要检索数据,您可以执行类似的操作
localStorage.getItem("lastname");
因此,如果你想在angular中实现这一点,你可以使用$window服务,但它的行为与上面的例子相同。
源
解决ngStorage问题:
AngularJS模块,使Web存储以Angular方式工作。包含两个服务:$localStorage和$sessionStorage。没有像在$window服务中那样处理getter和setter
您可以在$scope:下通过引用传递$localStorage或$sessionStorage
$scope.$storage = $localStorage;
然后你可以使用$storage作为和其他角度变量
<body ng-controller="Ctrl">
<button ng-click="$storage.counter = $storage.counter + 1">{{$storage.counter}}</button>
</body>
源
如果你将在你的网络应用程序中使用angularjs,我会使用ngStorage,因为你会更舒适,更熟悉语法。不过这只是我的看法。
变量$window
通常是全局window
变量。Angular建议使用$window
的原因是,有时您想模拟或替换"真实"的window
对象(例如,出于测试目的)。
也就是说,使用$window.localStorage
意味着您使用的是本地存储的普通API,而ngStorage是
AngularJS模块,使Web存储以Angular方式工作。包含两个服务:
$localStorage
和$sessionStorage
来源于此处
请注意,ngStorage内部使用Angular监视来监视对$storage
/$localStorage
对象的更改,即需要一个摘要周期来将新值可靠地保存到浏览器的本地存储中。通常情况下这不是问题,但如果在$localStorage
中存储值并在没有摘要循环的情况下打开新选项卡,则可能无法在新打开的选项卡/窗口中看到存储的值。
在IE上遇到这个问题,不得不使用window.localStorage
来解决。
var setLocalStorage = function (token, uname) {
$localStorage.token = token;
$localStorage.name = uname;
}
$timeout(setLocalStorage(token, userForm.uname), 500);
使用的模块:ngStorage
它有效!
- 全局变量和全局对象的属性之间有什么区别吗
- JavaScript中的函数和对象之间没有区别吗?
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- javascript函数的:和=之间的区别
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 函数中this和var之间的区别
- “util.inherits”和在NodeJS中扩展原型之间的区别
- Math.min()和Math.max()之间有什么区别?在Javascript中
- webpack开发模式和生产构建模式之间有什么区别
- servlet和代理servlet之间的区别
- Javascript 类型未定义和 void 之间的区别
- Javascript-defineProperty和直接在对象上定义函数之间的区别
- 关于承诺/A+规范,术语“当时可”和“承诺”之间有什么区别
- 布局引擎和javascript引擎之间的区别
- 什么's extjs中的mon()和on()之间的区别
- type=text/javascript和language=javascript之间的区别
- 函数()和新函数()之间的区别
- JavaScript中let和var之间的区别
- 蓝鸟的done()和spread()之间的区别
- Node.js HTTP/NET——连接和请求之间的区别