vue清空數組


vue數據綁定數組,改變元素時不更新view問題。(原因:由於Javascript的限制,Vue不能檢測以下變動的數組):

1. 當你利用索引直接設置一個項時,例如:vm.items[indexOfItem] = newValue

2. 當你修改數組的長度時,例如:vm.items.length = newLength

舉個例子:

var vm = new Vue({
    data: {
        items: ['a', 'b', 'c']
    }
});

vm.items[1] = 'x';        // 不響應
vm.items.length = 2;    // 不響應

解決第一類問題,以下兩種方式都可以實現和 vm.items[indexOfItem] = newValue 相同的效果,同時也將觸發狀態更新:

Vue.set(vm.items, indexOfItem, newValue)
vm.items.splice(indexOfItem, 1, newValue)

當然也可以使用 vm.$set 實例方法,該方法是全局方法 Vue.set 的一個別名

vm.$set(vm.items, indexOfItem, newValue);

解決第二類問題:

vm.items.splice(newLength);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM