我有一个json喜欢:
"data":
[{
"max": 10,
"class": "selected",
"type": "numbers"
}]
我想使用一个循环,它将从1开始到10(我的最大值)并显示跨度内的所有数字,如:
<span>1</span><span>2</span>...<span>10</span>
如果我单击span元素,我希望将此元素添加到新的空数组中。所以我要说我有其他空数组:
newarray: Array<number> = []
将成为:
newarray = [1]
此外,我想在你点击由json.class属性获取的span元素时切换类。
答案 0 :(得分:0)
_Hi Nikola,
基本上你会使用 ngFor 来遍历你的data
数组并显示值。然后你可以将每个项目(click)
处理程序绑定到你的类中的函数,在这个函数中你可以使用纯javascript函数实现切换逻辑,比如检查项目是否在newarray
内,带有 {{3 }} 然后如果不使用 indexOf 添加它,否则您希望使用 push newarray中删除>
<span *ngFor="let item of data" (click)="toggle(item)">{{item.max}}</span>
如果您还要切换类选择器,可以执行以下操作:
<span [class]="item.currentClass" *ngFor="let item of data" (click)="toggle(item)">{{item.max}}</span>
和toggle()
内部方法,您可以根据切换状态分配item.currentClass = item.class
或item.currentClass=''
。
请参阅 splice ,如果您现在更清楚该如何操作,请告诉我。