我有个问题.当我在Chrome上运行我的应用时,由于网络浏览器的本地存储,数据是持久的.但是,当在模拟器上运行时,如果我杀了应用程序,数据就会被擦除.我已经读过localstorage它是一个非易失性存储主要用于存储简单数据.我的应用程序不需要数据库,本地存储绰绰有余.出现这种情况的原因是什么?
angular.module('ionic.utils', [])
.factory('$localstorage', ['$window', function($window) {
return {
set: function(key, value) {
$window.localStorage[key] = value;
},
get: function(key) {
return $window.localStorage[key];
},
setObject: function(key, value) {
$window.localStorage[key] = JSON.stringify(value);
},
getObject: function(key) {
return JSON.parse($window.localStorage[key] || '{}');
},
removeItem: function(key){
$window.localStorage.removeItem(key);
},
removeByIndex: function (index) {
$window.localStorage.removeItem($window.localStorage.key(index));
},
getByIndex: function (index) {
return JSON.parse(($window.localStorage.key(index)));
},
clear: function (){
$window.localStorage.clear();
}
}
}]);
Run Code Online (Sandbox Code Playgroud) 有人可以帮我创建一种从离子本地存储中删除的方法吗?
到目前为止我已经尝试过
set: function(key, value) {
$window.localStorage[key] = value;
},
get: function(key) {
return $window.localStorage[key];
},
setObject: function(key, value) {
$window.localStorage[key] = JSON.stringify(value);
},
getObject: function(key) {
return JSON.parse($window.localStorage[key]);
},
removeItem: function(key){
$window.localstorage.splice(key, 1);
}
Run Code Online (Sandbox Code Playgroud)
removeItem根本不起作用.我希望通过职位而不是按键删除.
我试图在变量的值发生变化时禁用或启用按钮.ng-disabled正在查看值的更改,但如果已启用,则不会禁用该按钮.
HTML:
<form name="myForm">
<input ng-pattern="onlyNumbers" ng-model="value" name="number" />
Valid? {{myForm.number.$valid}}
<button ng-disabled="{{!myForm.number.$valid}}"> Hello </button>
</form>
Run Code Online (Sandbox Code Playgroud)
JS:
$scope.onlyNumbers = /^\d+$/;
Run Code Online (Sandbox Code Playgroud)