1.html部分
<div>
{{one}}
<button ng-click="testMe()">click</button>
</div>
2.js部分
$scope.all=[
1,2,3,4,5,6,7,8,9,0
];
$scope.testRand = function () {
$scope.one = [];
for(var i = 0;i < 2; i++){
var index = Math.floor(Math.random() * 10);
$scope.one[i] = $scope.all[index];
console.log($scope.one[i]);
}
return $scope.one
};
$scope.testMe = function () {
var timmer = null;
setTimeout ( function(){
clearInterval(timmer)
} , 1000 );
timmer = setInterval ( function (){
$scope.testRand1();
},33)
};
3.该部分代码理论上应该实现页面1s内动态随机内容的效果,但是实际效果是1s后才显示最终的值,这1s内变化的值都没有表现出来。
如何能实现1s内动态随机内容的效果?
偶然发现setInterval 和 setTimeout 在angular中不可用,分别替换成$interval 和 $timeout即可,具体原因未知。
故解决以上问题,需要把代码改成这样