【问题标题】:Getting NaN instead of number/value获取 NaN 而不是数字/值
【发布时间】:2016-08-09 11:09:10
【问题描述】:

应该是简单的语法错误但我不知道是什么

控制器:

    $scope.startCounter=3;

    $scope.startTimeouter = function (number) {  
      $scope.startCounter = number - 1;  
      mytimeouter = $timeout($scope.startTimeouter, 1000);  

      if($scope.startCounter<=0){
        $timeout.cancel(mytimeouter); 
        $scope.startTimeout();
      } 
        $scope.startTimerBtner=function(){
      $scope.startTimeouter();
    }


    $scope.stopTimerBtner = function () {  
        $timeout.cancel(mytimeouter);  
    } 
  }

HTML:

<a ng-click="startTimeouter(3);" >Click to Start Timer</a>

结果是 "3".."2"..."NaN"....任何帮助将不胜感激

【问题讨论】:

    标签: javascript html angularjs ionic-framework


    【解决方案1】:

    您没有在timeout 中将任何内容传递给$scope.startTimeouter,因此number 的值未定义。相反,请将您的函数设置为:

    $scope.startCounter=3;
    
    $scope.startTimeouter = function (number) {
          $scope.startCounter = number - 1;  
          mytimeouter = $timeout(function(){$scope.startTimeouter($scope.startCounter)}, 1000);  
    
          if($scope.startCounter<=0){
            $timeout.cancel(mytimeouter); 
            $scope.startTimeout();
          } 
            $scope.startTimerBtner=function(){
          $scope.startTimeouter();
        }
    
    
        $scope.stopTimerBtner = function () {  
            $timeout.cancel(mytimeouter);  
        } 
    
    }
    

    【讨论】:

      猜你喜欢
      • 2012-08-10
      • 2015-11-19
      • 2015-08-28
      • 2021-11-01
      • 2012-06-07
      • 1970-01-01
      • 1970-01-01
      • 2015-12-30
      • 1970-01-01
      相关资源
      最近更新 更多