Api 如何在父数组中获取正确的数组对象

Api 如何在父数组中获取正确的数组对象,api,vue.js,vue-component,emit,Api,Vue.js,Vue Component,Emit,在我的应用程序中,我有一个父组件,用于查询api以填充对象数组。 这些具有不同属性的对象随后通过v-for循环传递给多个子组件。 在子组件中,我可以通过带有文本输入的表单编辑对象的某些属性。 使用@change,我将其发送给父对象,这样我就可以在那里编辑对象并将其发布到api。 但是,如何在数组中找到正确的对象 我可以在父对象中循环数组,根据id(属性之一)找到正确的对象,但这对我来说似乎非常缓慢。有没有办法直接获得正确的对象?还是在子组件中调用api进行更新?这似乎不合逻辑,因为父对象不知道对

在我的应用程序中,我有一个父组件,用于查询api以填充对象数组。 这些具有不同属性的对象随后通过v-for循环传递给多个子组件。 在子组件中,我可以通过带有文本输入的表单编辑对象的某些属性。 使用@change,我将其发送给父对象,这样我就可以在那里编辑对象并将其发布到api。 但是,如何在数组中找到正确的对象


我可以在父对象中循环数组,根据id(属性之一)找到正确的对象,但这对我来说似乎非常缓慢。有没有办法直接获得正确的对象?还是在子组件中调用api进行更新?这似乎不合逻辑,因为父对象不知道对象已更改?

在v-for循环中,您可以访问数组中的元素索引

<div v-for="(item, i) in items" @change="update(item, i)"></div>

<script>
export default {
    data() {
        return {
             myArray: [{}, {}]
        }
    },
    methods: {
        update(item, i) {
            this.myArray[i] = item
        }
    }


}
</script>

导出默认值{
数据(){
返回{
myArray:[{},{}]
}
},
方法:{
更新(项目一){
this.myArray[i]=项
}
}
}

在v-for循环中,您可以访问数组中的元素索引

<div v-for="(item, i) in items" @change="update(item, i)"></div>

<script>
export default {
    data() {
        return {
             myArray: [{}, {}]
        }
    },
    methods: {
        update(item, i) {
            this.myArray[i] = item
        }
    }


}
</script>

导出默认值{
数据(){
返回{
myArray:[{},{}]
}
},
方法:{
更新(项目一){
this.myArray[i]=项
}
}
}

我认为您可以通过
@change
传递迭代对象,即
@change=“update(item)”
。是的,这是正确的,我就是这么做的。但是该项是否与数组中的项相同?如果我的父对象中有一个方法更改了对象的属性,这与更改数组中对象的属性相同吗?通常是。很好,谢谢,沙箱对我来说很清楚。我想你可以通过
@change
传递你的迭代对象,即
@change=“update(item)”
。是的,这是正确的,我就是这么做的。但是该项是否与数组中的项相同?如果我的父对象中有一个方法更改了对象的属性,这与更改数组中对象的属性相同吗?通常是。很好,谢谢,沙盒对我来说很清楚。我的@change在子组件中的某个地方,这意味着我应该将索引作为道具传递给子组件,然后在我的emit方法中使用它。我想这也行。有趣的是,thanksMy@change在子组件中的某个地方,这意味着我应该将索引作为道具传递给子组件,然后在我的emit方法中使用它。我想这也行。很有趣,谢谢