使用vue.js v-for綁定若干個(gè)選項(xiàng),需要對選項(xiàng)進(jìn)行排序上下移動(dòng)操作。

需要對options里面數(shù)組的位置進(jìn)行交換,通常是這樣來寫:
假設(shè)向前移動(dòng)一個(gè):
var index = this.options.indexOf(option); //獲取當(dāng)前選項(xiàng)對象在數(shù)組里面的索引。var tempOption = this.options[index-1]; //存儲前一個(gè)this.options[index-1] = option;(this.options[index])this.options[index] = tempOption;
這樣的確改變了數(shù)組的順序,但是視圖卻沒有更新移動(dòng)。詳見vue官網(wǎng)數(shù)組的描述.
解決辦法之一是改變他的對象,使用vue的set方法:
var index = options.indexOf(option); var tempOption = options[index - 1]; Vue.set(options, index - 1, options[index]); Vue.set(options, index, tempOption);
以上這篇vue.js移動(dòng)數(shù)組位置,同時(shí)更新視圖的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答