如何在另一个数组中切换项目

时间:2017-07-26 11:27:26

标签: javascript arrays angular typescript multidimensional-array

我有一个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元素时切换类。

1 个答案:

答案 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.classitem.currentClass=''

请参阅 splice ,如果您现在更清楚该如何操作,请告诉我。