Javascript VueJS splice从阵列中删除所有项

Javascript VueJS splice从阵列中删除所有项,javascript,arrays,vue.js,vuejs2,Javascript,Arrays,Vue.js,Vuejs2,我使用v-for填充了一个数组。还有一个按钮,单击时,使用splice()从数组中删除某些项。但是,由于某些原因,它只是删除数组中的所有项 代码如下: newvue({ el:“#应用程序”, 数据:{ 编号:{ 清单:[1,2,3], 索引:0 } }, 计算:{ getNumbers(){ 让nums=this.numbers.list 返回nums.splice(this.numbers.index,this.numbers.list.length) } }, 方法:{ 切片{ this

我使用
v-for
填充了一个数组。还有一个按钮,单击时,使用
splice()
从数组中删除某些项。但是,由于某些原因,它只是删除数组中的所有项

代码如下:

newvue({
el:“#应用程序”,
数据:{
编号:{
清单:[1,2,3],
索引:0
}
},
计算:{
getNumbers(){
让nums=this.numbers.list
返回nums.splice(this.numbers.index,this.numbers.list.length)
}
},
方法:{
切片{
this.numbers.index=1
}
}
})

{{number}}
片

拼接
返回移除的元件。因此,在计算计算属性
getNumbers
时,首先要删除所有元素,删除的元素会返回,因此会显示在使用
v-for
呈现的列表中

splice
也会变异数组,因此列表现在为空

现在在进一步的计算中,由于数组为空,因此
getNumbers
属性不会返回任何内容

我想您应该在这里使用
slice
,而不是
splice
,它不会使数组发生变异

newvue({
el:“#应用程序”,
数据:{
编号:{
清单:[1,2,3],
索引:0
}
},
计算:{
getNumbers(){
让nums=this.numbers.list
返回nums.slice(this.numbers.index、this.numbers.list.length)
}
},
方法:{
切片{
this.numbers.index=1
}
}
})

{{number}}
片

拼接
返回移除的元件。因此,在计算计算属性
getNumbers
时,首先要删除所有元素,删除的元素会返回,因此会显示在使用
v-for
呈现的列表中

splice
也会变异数组,因此列表现在为空

现在在进一步的计算中,由于数组为空,因此
getNumbers
属性不会返回任何内容

我想您应该在这里使用
slice
,而不是
splice
,它不会使数组发生变异

newvue({
el:“#应用程序”,
数据:{
编号:{
清单:[1,2,3],
索引:0
}
},
计算:{
getNumbers(){
让nums=this.numbers.list
返回nums.slice(this.numbers.index、this.numbers.list.length)
}
},
方法:{
切片{
this.numbers.index=1
}
}
})

{{number}}
片

如果要删除特定索引,请编写

nums.splice(this.numbers.index,1)

splice函数的第二个参数告诉您需要删除多少个元素。

如果要删除特定索引,请写入

nums.splice(this.numbers.index,1)

splice函数的第二个参数告诉我们需要删除多少个元素。

Gotcha!谢谢,明白了!谢谢