AngularJS - 从字符串数组中连续更改文本

AngularJS - Change text continuously from a array of strings

本文关键字:连续 文本 数组 字符串 AngularJS      更新时间:2023-09-26

有没有办法在我的角度控制器中模拟文本轮播?

如:

 //html 
 <span> {{ notes }}</span>
 //angular controller
   var i = 0;
   var array = ["A", "B", "C", "D", "E"];
   while (true) {
       $scope.notes = array[i];
       i = i + 1;
       if (i = array.length - 1) {
           i = 0;
       }
   }

有没有办法在没有无限循环的情况下做到这一点?我正在尝试垂直创建文本轮播,并在 CSS 类中使用淡入淡出动画来尝试实现这一目标。

我相信

你正在寻找$interval。

var i = 0;
var array = ['A', 'B', 'C', 'D', 'E'];
$interval(function () {
  $scope.notes = array[i++ % array.length];
}, 1000);

请参阅此处的示例:https://jsfiddle.net/8pLwjybf/3/

我会使用 setInterval,而不是无限循环,并使用 % 来包装你的索引

var i = 0;
var array = ["A", "B", "C", "D", "E"];
function next() {
  var idx = ++i % array.length;
  $scope.notes = array[idx];
}
setInterval(next, someTime);