Javascript 如何从一个数组中切换另一个数组中的项
我有一个类似的json:Javascript 如何从一个数组中切换另一个数组中的项,javascript,arrays,angular,typescript,multidimensional-array,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> 此外,我想在单击json.cl
"data":
[{
"max": 10,
"class": "selected",
"type": "numbers"
}]
我想使用一个循环,它将从1开始到10(我的最大值),并显示范围内的所有数字,如:
<span>1</span><span>2</span>...<span>10</span>
此外,我想在单击json.class属性获取的span元素时切换类。基本上,您可以使用在
数据
数组中循环并显示值。然后,您可以将每个项(单击)
处理程序绑定到类中的一个函数,在该函数中,您可以使用纯javascript函数实现切换逻辑,例如使用检查项是否在新数组
中,如果不在中,则使用添加它,否则,您希望使用从newarray
中删除
<span *ngFor="let item of data" (click)="toggle(item)">{{item.max}}</span>
{{item.max}
如果还要切换类选择器,可以执行以下操作:
<span [class]="item.currentClass" *ngFor="let item of data" (click)="toggle(item)">{{item.max}}</span>
{{item.max}
在toggle()
方法中,您可以根据切换状态分配item.currentClass=item.class
或item.currentClass='
请参见,如果您现在更清楚如何做,请告诉我。您的问题是什么?这似乎是一个要求而不是一个问题。AngularJS2?所以你的意思是AngularJS还是Angular2+,只要它是Angular2+标记为AngularJS而不是AngularJS,并从问题标题中删除“JS”。如果AngularJS从标题中删除2…你认为
gIf
是循环吗?好的,我做了编辑。嘿,太好了。是的,或多或少这就是我想要实现的。如果你想帮助的话,唯一的一件事是我想在数组中设置maxnumber,这样它只有一个对象,而不是每个单独的对象。所以如果我设置max:10,它将从1开始到10结束(类似于I=0;i@NikolaNoxiousDimitrov嘿,进展如何,你成功地实现了你想要实现的目标吗?再次感谢。我正忙于处理它。我在这方面还有两件事。第一件事,我想在第二件事上停止添加元素(选定)列表,如果长度变为3。因此,如果此列表获得3个元素,基本上可以停止添加它们(我启动了警报窗口),但您仍然可以删除元素。我尝试了类似while的操作(this.slected.length OK听起来是一项有趣的任务:),我让你去做这件事,如果你有大麻烦,只需发布一条评论,并链接到你所做的plunker,我会看一看。是的。这是plunker:我刚刚放置了要从第二个列表中删除的函数,以及当长度>3时的通知。它会发出警报,但必须保留该函数以避免添加更多元素。还有他从第二个列表中删除元素,应该从第一个名称列表元素中清除类。我知道e.preventDefault方法,但不确定。
<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>