【发布时间】:2015-04-18 07:33:55
【问题描述】:
所以我完全接受我可能会在这里做一些非常非常愚蠢的事情,但这里就是这样。
我使用具有 set() 和 get() 方法的 $localstorage api 将我的用户性别存储在 localStorage 中。我在 UI 中使用了角度范围滑块,只是因为它看起来不错。
这是控制器中的代码,它应该在您启动程序时设置性别,以及应该存储性别的函数。
来自离子公式页面。我不明白这一点:
get: function(key, defaultValue) {
return $window.localStorage[key] || defaultValue;
},
我知道它在 $localstorage 上创建了一个 get() 方法,但我在让它工作时遇到了一些麻烦,这是因为我不理解它。
如果我用这个
$localstorage.get('gender');
如果没有存储任何内容会发生什么?看起来方法 get() 从 localStorage 中获取值或获取 defaultValue。
如果我这样做:
get: function(key, defaultValue) {
return $window.localStorage[key] || 0;
},
当没有存储任何内容时,我应该将 0 作为默认值,是吗?还是我必须做其他事情?
我正在尝试使用它来存储用户性别。我这样初始化它:
$scope.usergender = $localstorage.get('storeGender');
console.log("Usergender on initialise is", $scope.usergender);
然后像这样存储它:
changeGender = function(){$localstorage.set('storeGender',$scope.usergender)
console.log("Usergender is now", $scope.usergender);
}
我的 html 看起来像这样:
<div class="item range range-assertive">
<i class="icon ion-male"></i> Male
<input type="range" name="gender" min="0" max="1" ng-model="usergender" onChange="changeGender()">
Female <i class="icon ion-female"></i>
</div>
目前我在控制台中得到的只是:
Usergender on initialise is undefined.
即使在我使用范围滑块尝试更改内容后,这种情况仍然存在。我试过使用 ng-change 并得到同样的结果。
帮助?
【问题讨论】:
-
你能把这个放到plnkr吗? changeGender 函数在哪里?
-
changeGender 函数在模板控制器中。
-
所以您使用的是 ngStorage? $localstorage 应该是 $localStorage。
-
不,我没有使用 ngStorage。我正在使用 Ionic localStorage 教程,该教程向您展示了一个在 $localstorage 上使用 get() 和 set() 方法的小 api
标签: angularjs local-storage ionic