gpt4 book ai didi

javascript - 需要简单的 Angular 函数解释

转载 作者:行者123 更新时间:2023-11-28 18:15:21 24 4
gpt4 key购买 nike

我创建了一个简单的 Angular 函数。目的是在按下触发函数 startAction 的按钮后显示变量 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>

关于javascript - 需要简单的 Angular 函数解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40830984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com