我想使localStorage「複選框持久」,當我重新加載我的觀點不會丟失。複選框選中持久本地存儲角js
我在ngStorage的幫助下將保存在localStorage中的值保存起來。
這是我的代碼和演示https://jsfiddle.net/alx_lopz/bhgmw7ey/
<div ng-app="myApp">
<div ng-controller="favCtrl">
<div ng-repeat="chip in colores" >
<input type="checkbox" name="{{chip.codigo}}" id="{{chip.codigo}}" ng-model="chip.checked" ng-change="chipsColores()" ng-click="$storage.a = fav">
<label>{{chip.codigo}}</label>
</div>
<div ng-repeat="favorite in $storage.a">
localStorage: {{favorite.codigo}}
</div>
</div>
</div>
我的控制器:
(function(){
angular.module('myApp',['ngStorage'])
.controller('favCtrl',[ '$scope', '$filter', '$localStorage', function ($scope, $filter, $localStorage) {
$scope.colores = [
{'nombre':'blue', 'codigo':'1111'},
{'nombre':'green', 'codigo':'2222'},
{'nombre':'red', 'codigo':'3333'}
];
$scope.chipsColores = function() {
$scope.fav = $filter('filter')($scope.colores, {checked: true});
}
$scope.$storage = $localStorage.$default({
});
}])
})();
請我需要你在我的演示幫助!謝謝...
謝謝你的講解和演示。這就是我想要的,但是當我取消選中複選框的值不會從視圖中消失時,我遇到了問題。我怎樣才能做到這一點?。 對不起,我開始的JavaScript和角 – alexlopezgt
你的意思是,取消選中後,即「111」在底部是'localStorage:1111:false'?其實這是你應該如何使用這個。如果對於這個診斷視圖,你想跳過未經檢查的項目,那麼只需將'ng-if =「value」'和'ng-repeat'一起添加即可。 – ciekawy
謝謝,我設法在你的幫助下做到這一點 – alexlopezgt