91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue中this.$set怎么用

發布時間:2022-03-03 13:57:41 來源:億速云 閱讀:187 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關vue中this.$set怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

    vue中 this.$set的使用

    背景:在我寫前端項目的時候,后端給我們的一個json對象,并且我已經渲染在頁面上了。但是由于我自己的需求,想往返回的對象里面添加一個字段,于是我用push一個字段進去,添加是添加進去了,但是頁面渲染卻沒有變化。后來才意識到不是響應式的。如果我們要讓這個新字段是響應式的,就要使用到this.$set來注入數據

    當vue的data里邊聲明或者已經賦值過的對象或者數組(數組里邊的值是對象)時,向對象中添加新的屬性,如果更新此屬性的值,是不會更新視圖的。

    使用

    this.$set( target, key, value)

    target:表示數據源,即是你要操作的數組或者對象

    key:要操作的的字段

    value:更改的數據

    來個小案例:

    給一個對象添加一個年齡屬性并且讓它可以響應式的進行改變

    vue中this.$set怎么用

    <template>
      <div class="text">
          <p>{{list}}</p>
          <button @click="add">age++</button>
      </div>
    </template>
    <script>
    export default {
        data(){
            return {
                list:{ name: "張三"}
            }
        },
        methods: {
            add(){
                if(!this.list.age){ // 如果沒有age屬性就給它添加一個age屬性
                    this.list.age=18
                }else{
                    this.list.age++
                }
                console.log(this.list)
            }
        }
    }
    </script>

    當我們沒有使用this.$set去添加對象屬性的時候,效果:

    數據確實已經添加進去了,但是頁面并沒有響應式的渲染age屬性。

    vue中this.$set怎么用

    當我們使用this.$set(this.list,‘age',18)去添加一個屬性之后。效果:

    vue中this.$set怎么用

    我們能看見添加的數據是響應式的。

    為什么能夠響應式?

    仔細觀察一下,使用了this.$set 多了get age和set age方法,這正是能夠響應式的原因

    vue中this.$set怎么用

    分析

    Vue的響應式原理為 JavaScript 對象傳入 Vue 實例作為 data 選項,Vue 將遍歷此對象所有的 property,并使用 Object.defineProperty 把這些 property 全部轉為 getter/setter。這些 getter/setter 對用戶來說是不可見的,但是在內部它們讓 Vue 能夠追蹤依賴,在 property 被訪問和修改時通知變更。這里需要注意的是不同瀏覽器在控制臺打印數據對象時對 getter/setter 的格式化并不同,下圖來自官方文檔。

    vue中this.$set怎么用

    感謝各位的閱讀!關于“vue中this.$set怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    昆明市| 嘉鱼县| 长垣县| 怀远县| 南充市| 武鸣县| 宣城市| 宁远县| 余干县| 故城县| 巴马| 芦溪县| 柞水县| 合山市| 吐鲁番市| 横峰县| 大石桥市| 井陉县| 开化县| 平果县| 红河县| 广平县| 潮州市| 镇坪县| 科尔| 木里| 乌鲁木齐县| 津南区| 永泰县| 朔州市| 隆子县| 蒙山县| 绥滨县| 丰宁| 渑池县| 新安县| 瑞安市| 湟源县| 勐海县| 抚顺县| 军事|