In my vue.js application I'm trying to swap 2 forum rows like this:
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;
});
}
}
}
But nothing happens? What am I doing wrong here?
While @dfsq is correct about the use of index++
Vue doesn't recognize native mutations of arrays due to the inability to observe them. you have to use a mutation method to change them.
try this:
.then(() => {
let rows = [this.forums[index], this.forums[index + 1]];
this.forums.splice(index, 2, rows[1], rows[0] );
});
I haven't tested it and I'll edit when I can.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With