1
我試圖存儲與localStorage中的每個複選框值的複選框列表,但我總是得到ng-repeat內的錯誤或Unexpected token o in JSON at position 1
,我應該在對象上使用JSON.parse。角 - 存儲和閱讀複選框列表與本地存儲中的狀態
基本上這是一個選項列表,我後來想要加載,但我也想加載狀態,當我訪問菜單,如果他們存在localStorage。
controller.js
var initialAlarmColumns = [{
columnName: "Alarm",
value: true
}, {
columnName: "Description",
value: true
}, {
columnName: "Acknowledged by",
value: false
}];
if(localStorage.getItem('alarmColumns') === null){
localStorage.setItem('alarmColumns', JSON.stringify(initialAlarmColumns));
self.alarmColumns = initialAlarmColumns;
}
else{
self.alarmColumns = JSON.parse(localStorage.getItem('alarmColumns'));
}
self.setAlarmColumns = function(columnsChecked){
localStorage.setItem('alarmColumns', JSON.stringify(columnsChecked));
};
optionsView.html
<ul class="alarmColumnOptions" ng-repeat="alarmOptions in $ctrl.alarmColumns">
<li><label><input type="checkbox" name="alarmOptions.columnName" ng-model="alarmOptions.value" ng-change="$ctrl.setAlarmColumns($ctrl.alarmColumns)"> {{alarmOptions.columnName}}</label></li>
</ul>
我使用的是簡單的localStorage而不是指令,因爲在我的應用程序另一個無關的問題。
編輯:這裏是code preview in plunkr
你可以寫一個小代碼塊,其中你的問題是複製和發佈它作爲一個的jsfiddle? –
添加小提琴 – mesosteros