【问题标题】:Set current checkbox value in "$on('$destroy')" in angular js?在角度js中的“$on('$destroy')”中设置当前复选框值?
【发布时间】:2017-12-29 01:04:42
【问题描述】:

我是 Angular js 的新手。我正在实现复选框,并且我想在重新加载和导航到另一个页面后防止重置复选框。现在,当我重新加载页面时,复选框将重置。所以我使用 $on("$destroy") 保存状态。但我无法使用 $on("$destroy") 设置复选框当前值。

HTML

<input type="checkbox" id="mycheckbox" class="checkbox style-0"
       name="mycheckbox" ng-model="mycheckbox" data-ng-change="confirm()" />

角度控制器:

$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) 中设置了一些值,但是在复选框的情况下我很困惑。所以请分享你的想法。您的回答对我很有价值。提前致谢。

【问题讨论】:

    标签: javascript angularjs checkbox angularjs-ng-change


    【解决方案1】:

    $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;
      })
    }]);
    

    【讨论】:

    • 感谢您的回答。你能提供一些示例代码吗因为我是角度新手。
    • 它只给了我复选框的错误值
    猜你喜欢
    • 2017-01-06
    • 1970-01-01
    • 2018-10-26
    • 2018-05-04
    • 2018-05-04
    • 2015-10-29
    • 2023-03-22
    • 1970-01-01
    • 2022-07-11
    相关资源
    最近更新 更多