我在下面写了代码
var checkLightOn = $localstorage.getObject('LightOn');
if(checkLightOn == true){
$scope.LightOn = true;
}else{
$scope.LightOn = false;
}
$scope.checked = function(){
if($scope.LightOn){
$localstorage.set('LightOn','');
}else{
$localstorage.set('LightOn',true);
}
}
并希望我的切换与localstorage一起工作正常。但是第二次点击不会改变localstorage的值,它只能用于刷新。我不知道为什么。我在ng-change中添加了alert()
,每次点击它都会触发。
视图
<input ng-model="LightOn " ng-change="checked()" type="checkbox">
答案 0 :(得分:0)
您还需要更改LightOn范围变量,而不仅仅是localStorage,请尝试:
$scope.checked = function(){
if($scope.LightOn){
$localstorage.set('LightOn','');
}else{
$localstorage.set('LightOn',true);
}
$scope.LightOn = !$scope.LightOn;
}
答案 1 :(得分:0)
我认为$ localstorage可能出现问题。我在这里有一个例子(基于你的代码),它运作良好。 无需重新分配$ scope.LightOn
Check this Link: