最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中 this.$set的使用詳解

 更新時間:2021年11月17日 11:58:28   作者:浪漫主義碼農  
這篇文章主要為大家介紹了vue中 this.$set的使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

vue中 this.$set的使用

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

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

使用

this.$set( target, key, value)

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

key:要操作的的字段

value:更改的數(shù)據(jù)

來個小案例:

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

在這里插入圖片描述

<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去添加對象屬性的時候,效果:

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

在這里插入圖片描述

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

在這里插入圖片描述

我們能看見添加的數(shù)據(jù)是響應式的。

為什么能夠響應式?

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

在這里插入圖片描述

分析

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

在這里插入圖片描述

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!

相關文章

  • Vue如何使用Promise.all()方法并行執(zhí)行多個請求

    Vue如何使用Promise.all()方法并行執(zhí)行多個請求

    在Vue中,可以使用Promise.all()方法并行執(zhí)行多個異步請求,當所有請求都成功返回時,Promise.all()將返回一個包含所有請求結果的數(shù)組,如果其中任何一個請求失敗,則會觸發(fā)catch()方法并返回錯誤信息,這種方式可以顯著提高程序的性能和響應速度
    2025-01-01
  • vue實現(xiàn)個人信息查看和密碼修改功能

    vue實現(xiàn)個人信息查看和密碼修改功能

    本文通過實例代碼給大家介紹了vue實現(xiàn)個人信息查看和密碼修改功能,文中給大家補充介紹了vue實現(xiàn)密碼顯示隱藏切換功能,非常不錯,具有一定的參考借鑒價值,感興趣的朋友一起看看吧
    2018-05-05
  • Vuex 使用 v-model 配合 state的方法

    Vuex 使用 v-model 配合 state的方法

    這篇文章主要介紹了Vuex 使用 v-model 配合 state的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • Vue + Webpack + Vue-loader學習教程之相關配置篇

    Vue + Webpack + Vue-loader學習教程之相關配置篇

    這篇文章主要介紹了關于Vue + Webpack + Vue-loader的相關配置篇,文中通過示例代碼介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • vue計算屬性無法監(jiān)聽到數(shù)組內部變化的解決方案

    vue計算屬性無法監(jiān)聽到數(shù)組內部變化的解決方案

    今天小編就為大家分享一篇vue計算屬性無法監(jiān)聽到數(shù)組內部變化的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • VUE3 click點擊事件及修飾符詳解

    VUE3 click點擊事件及修飾符詳解

    這篇文章主要介紹了VUE3 click點擊事件及修飾符的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • vue中防抖和節(jié)流的使用方法

    vue中防抖和節(jié)流的使用方法

    防抖和節(jié)流是我們在開發(fā)過程中常用優(yōu)化性能的方式,可以減少不必要的計算,不浪費資源,只在適合的時候再進行觸發(fā)計算,這篇文章主要給大家介紹了關于vue中防抖和節(jié)流使用的相關資料,需要的朋友可以參考下
    2021-08-08
  • 詳解vue-cli 腳手架 安裝

    詳解vue-cli 腳手架 安裝

    這篇文章主要介紹了vue-cli腳手架安裝,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 深入了解Vue動態(tài)組件和異步組件

    深入了解Vue動態(tài)組件和異步組件

    這篇文章主要介紹了深入了解Vue動態(tài)組件和異步組件的相關資料,幫助大家更好的理解和學習vue組件的相關知識,感興趣的朋友可以了解下
    2021-01-01
  • Vue 中使用 CSS Modules優(yōu)雅方法

    Vue 中使用 CSS Modules優(yōu)雅方法

    這篇文章主要介紹了Vue 中使用 CSS Modules優(yōu)雅方法,本文文字結合實例代碼的形式給大家介紹的非常詳細,需要的朋友可以參考下
    2018-04-04

最新評論

平乐县| 城口县| 锡林郭勒盟| 阜南县| 伊金霍洛旗| 台南县| 浪卡子县| 舞钢市| 滨州市| 如皋市| 永登县| 凤台县| 南江县| 哈巴河县| 日喀则市| 汽车| 嘉兴市| 田阳县| 寿阳县| 临邑县| 根河市| 镇雄县| 兴国县| 绵竹市| 隆德县| 依安县| 绥化市| 合川市| 皋兰县| 张掖市| 句容市| 南汇区| 东城区| 宁蒗| 柏乡县| 辽宁省| 确山县| 贞丰县| 平武县| 靖西县| 石狮市|