繁体   English   中英

如何从返回的数据组件vuejs拼接子数组?

[英]how to splice a subarray from returned data component vuejs?

我有一个对象是数组列表...

在此处输入图片说明

..这是通过道具在vue js中声明的数据:

    data: function(){
    return{
        listaSelezionati:this.selezionati
    }
}

..wich在v-for上渲染

<div class="row" style="margin-bottom:20px;" v-for="(selezionato,index) in listaSelezionati">

..在此for循环中,有一个调用函数的按钮

<div class="remove pull-right" v-on:click="rimuovi(index)"></div>

..使用此功能,我想使用“索引”来拼接对象“ listaSelezionati”的子数组,但是我不确定该怎么做。

这是我尝试过的:

    methods:{
    rimuovi : function(index){
        alert(index);
        return{
            this.listaSelezionati[index][0].splice(index,1)
        }
    }
}

但这无能为力,有人建议吗?

EDIT1我想知道,如果return{this.listaSelezionati应该是编辑组件数据的正确方法

看来您太深入阵列了。

this.listaSelezionati[index]

是一个数组,但是

this.listaSelezionati[index][0]

看起来像是对象的数组的第一个元素。 因此,现在看来您是在位置索引处拼接对象。 这应该产生一个错误。 我认为您需要:

rimuovi : function(outterIndex, innerIndex){
    alert(outterIndex, innerIndex);
    return{
        this.listaSelezionati[outterIndex].splice(innerIndex,1)
    }
}

<div class="remove pull-right" v-on:click="rimuovi(index, innerIndex)"></div>
// or
<div class="remove pull-right" v-on:click="rimuovi(outterIndex, innerIndex)"></div>

我没有测试过,但至少它应该使您更接近

如果要通过索引删除整个子数组,您需要做的是:

methods:{
  rimuovi : function(index){
    this.listaSelezionati.splice(index,1)
  }
}

无需返回值; splice更新它被调用的数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM