如何切换在另一个

问题描述:

我有一个JSON从一个阵列的项目,如:如何切换在另一个

"data": 
    [{ 
     "max": 10, 
     "class": "selected", 
     "type": "numbers" 
    }] 

我想用一个循环,从1到10(我的最大值)启动并显示所有的数字内部跨度如:

<span>1</span><span>2</span>...<span>10</span> 

比如果我点击跨度元素我希望这个元素被添加到一个新的空数组。所以可以说我有其他的空数组:

newarray: Array<number> = [] 

将变为:

newarray = [1] 

此外,我想切换类当你点击span元素,由json.class财产承担。

+2

你的问题是什么? – Gael

+1

这似乎是一个要求,而不是一个问题。 –

+0

AngularJS2?所以,你的意思是AngularJS或Angular2 +只有它的Angular2 +标记为非AngularJS并从问题标题中移除'JS'。如果AngularJS从标题中删除2 ... – JGFMK

_Hi尼古拉,

基本上你会用ngFor遍历您data阵列和显示值。然后,你可以(click)处理器结合每个项目从你的类和此功能,您可以用纯JavaScript函数来实现切换逻辑类似检查,如果产品里面newarrayindexOf那么如果不使用push添加它里面的功能,否则,你想从newarraysplice

<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=''

请参阅this demo并让我知道现在是否更清楚如何去做。

+0

嘿,太好了。是或多或少,这是我想要实现的。 只有一件事,如果你想要帮助,是因为我想在数组中设置maxnumber,所以它只有一个对象,而不是每个对象都是独立的。所以如果我设置max:10,它将从1开始并且结束到10,(对于i = 0; i

+0

@NikolaNoxiousDimitrov嘿,你怎么样,你做到了你想达到的目的? – codtex

+0

再次感谢。我正忙着处理它。我还有两件事。首先,如果长度变为3,我想停止在第二个(选定)列表中添加元素。因此,如果此列表获取3个元素(我激发警告窗口),但基本上停止添加元素,但仍然可以删除元素。我尝试了while(this.slected.length