需要简单的角函数解释



我创建了一个简单的角函数。目的是在按下将启动功能的按钮下方显示变量x的变化值。它不起作用,我不知道为什么。

var app = angular.module("myApp", []);
app.controller('myController', ($scope, fabryka) => {
$scope.startAction = function () {
    setInterval(function () {
        var x = 0;
        $scope.x = (function () {
            x++;
            return x;
        })();
    }, 500);
    }      
});

Angular具有自己的setInterval包装器: $interval

当您按按钮时,这件代码会数秒。请注意,当示波器被销毁时,间隔取消。

angular.module('app', [])
  .controller('mainCtrl', function($scope, $interval) {
    var vm = this;
    vm.x = 0;
    var interval;
    vm.startAction = function() {
      vm.isRunning = true;
      interval = $interval(function() {
        vm.x++;
      }, 1000);
    };
    vm.stopAction = function() {
      vm.isRunning = false;
      $interval.cancel(interval);
    }
    $scope.$on('$destroy', vm.stopAction);
    return this;
  });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="mainCtrl as vm">
  <div>x: {{vm.x}}</div>
  <button ng-click="!vm.isRunning? vm.startAction():vm.stopAction()">{{vm.isRunning? 'Pause':'Start'}}</button>
</div>

最新更新