Vue.js:添加新项目后从列表中删除项目导致错误

Vue.js : removing item from list after added a new item caused a bug

<li v-for="(l, i) of lineList" :key="l._id"> 

data () {
        return {
            lineList: []
        }
    },
    methods: {
         query() {
            axios.get(domain + 'line')
                    .then((res) => {
                        this.lineList = res.data.data;
                    })
                    .catch((err) => {
                        console.log(err);
                    });
        },
        add() {
            axios.post(domain + 'line', {line: '432432'})
                    .then(res => {
                        this.lineList.unshift(res.data.data);
                    })
                    .catch(error => {
                        console.log(error);
                    });
        },
        remove(line, i) {
            axios.delete(domain + 'line/' + line._id)
                    .then(res => {
                        this.lineList.splice(i, 1);
                    })
                    .catch(err => {
                        console.log(error);
                    });
        }
    },

以上是我 project.I 的代码片段,我使用的是最新版本的 vue.js 2.

我的问题是,当我尝试在 this.add() 之后执行 this.remove() 时,删除了错误的项目,我完全不知道为什么,有人知道请告诉我,谢谢!

如果我是你,我会尝试以下方法:

remove(line) {
    axios.delete(domain + 'line/' + line._id)
    .then(res => {
        let index = this.lineList.indexOf(line)
        this.lineList.splice(index, 1);
    })
    .catch(err => {
        console.log(error);
    });
}

有了这个,由于 let index = this.lineList.indexOf(line)

,您可以确保在要删除项目时拥有正确的索引