我正在尝试使用setInterval()在JS中每x秒计算一个变量,并在我的视图中显示它以Angular方式绑定此变量。问题是,在模型中,var被计算在内,但只要我停止Interval就会显示进度。如何在每个tick上更新视图中的var?
<span>{{number}}</span>
和
$scope.number = 0;
$scope.interval;
$scope.run = function(){
$scope.interval = setInterval(function(){
$scope.number++;
}, 1000);
};
$scope.stop = function(){
clearInterval($scope.interval);
}
答案 0 :(得分:3)
您应该使用Angular的名为$interval的$scope.run = function() {
$scope.interval = $interval(function() {
$scope.number++;
}, 1000);
};
$scope.stop = function() {
$interval.cancel($scope.interval);
};
实现。
这不仅可以确保回调中的任何代码都能调用摘要,还可以帮助您轻松测试代码:
interval
我还会避免将$scope
变量附加到var interval
。我看不出你的观点需要注意的任何理由。控制器范围内的私有private void button1_Click(object sender, EventArgs e)
{
string inStr = "Temperature:36.20C";
int indexOfSpace = inStr.IndexOf(':');
//stores the address of the space
int indexOfC = inStr.IndexOf("C");
//stores the address of char C
string Temp = inStr.Substring(indexOfSpace + 1, indexOfC);
textBox1.Text = Temp;
}
就足够了。
答案 1 :(得分:0)
var myApp = angular.module('myApp', []);
myApp.controller('MyCtrl', function ($scope, $interval) {
$scope.number = 0;
$scope.run = function (){
$scope.interval = $interval(function(){
$scope.number++;
}, 1000);
};
$scope.stop = function() {
$interval.cancel($scope.interval);
};
});