好的,所以我的SettingsCtrl
代码中有一个控制器:
.controller('SettingsCtrl' , function($scope, localStorageService) {
$scope.verseOptions = [5 , 10, 15, 20];
$scope.verses = JSON.stringify($scope.verseOptions);
console.log($scope.verses);
console.log($scope.verses[3]);
$scope.dd = JSON.parse($scope.verses);
console.log($scope.dd);
var d = $scope.dd[1];
console.log(d);
$scope.config = {
numVerses: localStorage.getItem('numVerses' , 23),
selectedVerse : localStorage.setItem('verseOption' , d) || $scope.verseOptions[1]
};
$scope.save = function() {
console.log($scope.config.numVerses);
localStorage.setItem('numVerses', $scope.config.numVerses);
localStorage.setItem('verseOption' , $scope.config.selectedVerse);
console.log($scope.config.selectedVerse);
};
})
给定数组 verseOptions 和 config.selectedVerse 。
在我的 ion-view 中,我将config.numVerses
值加载到输入框和config.verses
下拉列表中:
<label class="item item-input item-label">
<span class="input-label">Number Of Verses</span>
<input type="text" ng-model="config.numVerses">
</label>
<label class="item item-input item-select">
<div class="input-label">
Verses
</div>
<select ng-model='config.selectedVerse'>
<option ng-repeat='verse in dd'>
{{verse}}
</option>
</select>
</label>
当单击视图内的保存按钮时,它会调用save()
控制器。使用 save() 函数,我想将数组元素保存在 localStorage 中。例如,如果我从下拉列表中选择 5,它应该保存值为 5 的数组索引,以便在下次启动时重新加载它。
对我来说,保存和加载 numVerses 值有效,但 selectedVerse 值(从下拉列表中不起作用)。当我尝试在下次启动时重新加载值时,numVerses 按原样显示,但下拉菜单显示为选中的空白选项
PS。我正在使用angular-local-storage模块。
任何帮助,将不胜感激。