vue中的vue.set()的使用


Vue.set( target, key, value ) / this.$set( target, key, value )

target:要更改的數據源(可以是對象或者數組)
key:要更改的具體數據
value :重新賦的值

直接上代碼!

<template>
    <p v-for="item in items" :key="item.id">
        {{item.message}}
    </p>
    <button class="btn" @click="dynamicClick()">動態賦值</button> 
</template>    
<script>
data() {
        return {
           items:[
               {message:"Test one",id:"1"},
               {message:"Test two",id:"2"},
               {message:"Test three",id:"3"}
              ]
            }
        },
methods: {
    dynamicClick:function(){
            //this.items[0]={message:"Change Test",id:'10'}
            this.$set(this.items,0,{message:"ChangeTest",id:'10'})
            console.log(this.items,'----------')
    },
}
</script>                    

我們寫js寫慣了就會這樣寫:

this.items[0]={message:"Change Test",id:'10'}
我們可以看到打印的是:頁面的數據沒改變而打印的數據改變了;
vue文檔中明確的注意事項就是:由於 JavaScript 的限制,Vue 不能檢測出數據的改變,所以當我們需要動態改變數據的時候,Vue.set()完全可以滿足我們的需求。

 
       


免責聲明!

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



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