我是角度js的新手。我正在实施复选框,我想在重新加载后导航到另一个页面后阻止重置复选框。现在,当我重新加载页面时,复选框将重置。所以我使用$ on(“$ destroy”)来保存状态。但我无法使用$ on(“$ destroy”)设置复选框当前值。
HTML
<input type="checkbox" id="mycheckbox" class="checkbox style-0"
name="mycheckbox" ng-model="mycheckbox" data-ng-change="confirm()" />
ANGULAR CONTROLLER:
$scope.confirm= function(){
if($scope.mycheckbox== false)
{
alert("inside unchecked");
}
else{
alert("inside checked");
}
}
$scope.$on('$destroy',function(){
sessionStorage.date=matchDate;
sessionStorage.maxValue=realValue;
sessionStorage.minValue=normalValue;
})
如何在$ on(destroy)中设置或取消选中当前复选框值。我已经在$ on(destroy)中设置了一些值,但在复选框中我很困惑。所以请分享你的想法。你的回答对我很有价值。谢谢。
答案 0 :(得分:0)
$on('$destroy')
表示控制器正在离开,因为页面已卸载。您必须存储复选框的当前状态,就像存储其他数据一样。然后在控制器初始化中,您可以检查复选框是否存储了值,是否有用于初始化复选框而不是默认值。
var myApp = angular.module('myApp',[]);
myApp.controller('Controller', ['$scope', function($scope) {
$scope.greeting = 'Hola!';
$scope.checkbox = (sessionStorage.hasOwnProperty('checkbox') ? sessionStorage.checkbox : false);
$scope.$on('$destroy',function(){
sessionStorage.date=matchDate;
sessionStorage.maxValue=realValue;
sessionStorage.minValue=normalValue;
sessionStorage.checkbox=$scope.checkbox;
})
}]);