在我的vue.js应用程序中,我正在尝试交换2个论坛行,如下所示:
export default { data() { return { forums: [] } }, methods: { increment(forum, index) { ForumService.increment(forum) .then(() => { let b = this.forums[index]; this.forums[index] = this.forums[index++]; this.forums[index++] = b; }); } } }
但没有任何反应?我在这做错了什么?
虽然@dfsq对于index++
Vue 的使用是正确的,但由于无法观察它们而无法识别阵列的原生突变.你必须使用变异方法来改变它们.
试试这个:
.then(() => { let rows = [this.forums[index], this.forums[index + 1]]; this.forums.splice(index, 2, rows[1], rows[0] ); });
我没有测试过,我会尽可能地编辑.