我正在编写一个组件,它接受一个字符串并将其转换为一个<span>
s 列表。每个<span>
都有一个字符串字符并被分配一个随机颜色。
组件调用如下所示:
<span ng-repeat="char in ctrl.chars" style="color: {{ctrl.randomColor}};">
{{char}}
</span>
组件定义如下所示:
import 'package:angular/angular.dart';
import 'dart:math';
@NgComponent(
selector: 'tokens',
templateUrl: './component.html',
cssUrl: './component.css',
publishAs: 'ctrl',
map: const {
'text' : '@text',
}
)
class TokensComponent {
String text;
List<String> get chars => text.split('');
String get randomColor {
var colors = ['red', 'green', 'yellow', 'blue'];
return colors[new Random().nextInt(colors.length)];
}
}
这有效,但会产生错误:
5 $digest() iterations reached. Aborting!
Watchers fired in the last 3 iterations:
...
除了我定义的吸气剂之外,我不清楚这里正在观看什么。如果我将涉及 getter 的代码留Random
在 getter 中,而只是返回一个硬编码的字符串,则错误消息就会消失。
知道这里有什么问题吗?