日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

chrome vue 未响应_VUE数据响应式

發布時間:2025/3/15 vue 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 chrome vue 未响应_VUE数据响应式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

響應式顧名思義就是對外界的觸發變化做出響應。

在vue中,vue的data是響應式的,我們會很好奇,為什么傳入new Vue({})中的data在做出變化的時候,UI中相應地顯示的數據也會響應做出變化,vue到底是如何實現的?

const myData = {n:0 } console.log('最初的myData:',myData) new Vue({data: myData,template: `<div>{{n}}</div>` }).$mount('#app')setTimeout(() => {myData.n += 10 }, 3000)console.log('被Vue篡改后的myData',myData)

明顯可以看出myData已經發生了變化。

簡單實現數據響應式

使用代理+監聽

function proxy({ data }) {//添加監聽//將data.n存儲在value中let value = data.n;delete data.n;Object.defineProperty(data, "n", {get() {return value;},set(newValue) {if (newValue < 0) return;value = newValue;},});//以上即添加監聽,監聽data.n的變化//下面代理新的data.n,以obj作為代理層const obj = {};Object.defineProperty(obj, "n", {get() {return data.n;},set(value) {if (value < 0) return;data.n = value;},});return obj; }let myData = {n:0} //vue對data進行篡改后為dataProxy let dataProxy = proxy({data:myData})//相當于const vm = new Vue({data:{...}})console.log(dataProxy.n)

監聽是修改data對象的過程,代理是在被修改過的data對象上創建的。這樣彼此之間的連接才不會斷開。當你的data有多個變量或屬性的時候,我們可以使用閉包和循環來實現這個過程。

所以當new Vue()的時候,vue對data做了以下操作:

當你創建實例的時候:

const vm = new Vue({data:myData})
  • vue會讓vm成為myData的代理(將監聽到變化的結果進行代理,供用戶訪問或修改)
  • vm會對myData的所有屬性進行監控(監聽他的變化)

vm就充當了一個中介的作用,在監聽到數據發生變化的時候就通知UI,UI上顯示的數據就會做出響應,發生改變。

那么Vue這樣做的目的是什么呢?

  • 可以使用this訪問vm,this.n === myData.n //true
  • 因為監控,所以才讓vue得知myData發生了變化
  • 因為代理,得知屬性變化之后才能使用render(data)來更新UI和渲染頁面

總結數據響應式

  • 所謂響應式就是對外界的變化做出相應的一種形式。
  • const vm = new Vue({data:{n:0}}) 當修改vm.n或者this.n的時候,render(data)中的n就會做出相應的響應。這個過程就是Vue的數據響應式。
  • vue目前通過Object.defineProperty來實現數據響應式。

當在data中添加屬性時

Vue雖然對data中的屬性或options對象中的屬性進行監聽和代理,但是他卻沒有辦法進行事先的監聽和代理。

對于對象來說:在初始化好data之后,你需要添加一個屬性,該如何實現?

如果是給一般對象新增屬性,我們其實可以在data中預先把所有可能用到的屬性全部寫出來,這樣并不需要新增屬性。當然也可以通過其他方法來添加屬性。下面我們來了解一個Vue提供的API:

Vue.set(object, key, value) // or this.$set(object, key, value)

作用:

  • 在data中添加新的屬性
  • 自動創建為他創建的代理和監聽(前提是沒有創建過)
//舉個栗子 new Vue({data: {obj: {a: 0}},template: `<div>{{obj.b}}<button @click='one'>One</button></div>`,methods: {one() {Vue.set(this.obj, 'b', 1)// 或 this.$set(this.obj, 'b', 1)}} }).$mount('#app') //未點擊按鈕的時候,沒有obj.b這個屬性,但vue不會報錯(對于空值),直接不顯示。

對于數組來說:

因為數組本身的特殊性,數組的長度無法預測,且我們無法使用undefined去為每一項占位,或一直使用Vue.set()方法,尤雨溪為我們提供了幾個Vue為數組提供的API。

列表渲染 — Vue.js?cn.vuejs.org

當你在使用push的時候,push進去的元素就已經被監聽了。這是被Vue封裝過的新的push方法。

它的原理:聲明一個新的類來繼承數組,循環遍歷,將每一個新增的元素告訴Vue,為其添加監聽和代理。從而讓這些新增的數組項去觸發視圖的更新。

小結

研究思路和方法遠比學習知識要重要的多,我們可以不懂或不看一個庫或者項目的源碼,但我們應該知道他的思路和方法是什么。

參考鏈接:

Jacky:淺析Vue數據響應式?zhuanlan.zhihu.com對象初始化?developer.mozilla.orgObject.defineProperty()?developer.mozilla.org

總結

以上是生活随笔為你收集整理的chrome vue 未响应_VUE数据响应式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧洲精品一区二区三区 | 亚洲一二区在线 | 欧美激情视频一区二区三区在线播放 | 亚洲国内在线 | 日韩av中文字幕在线免费观看 | 日本毛片在线 | 久久久久国 | 伊人网av| 中文免费在线观看 | 婷婷毛片 | 天天都色 | 国产成人精品一区二区在线观看 | 少妇喷潮明星 | 最新亚洲精品 | 男同av在线观看一区二区三区 | 久操热线| 仙踪林av| 香蕉视频在线视频 | 国产欧美精品一区二区在线播放 | 激情网五月天 | 国产精品国产馆在线真实露脸 | 欧美精品一区二区三区久久久竹菊 | 精品一区二区视频在线观看 | 色呦呦在线观看视频 | 337p亚洲精品色噜噜噜 | 一区二区国产在线 | 中文字幕8 | 91全免费| 成人网在线免费观看 | 中文字幕综合 | 欧美伦理在线观看 | 在线播放91灌醉迷j高跟美女 | 中文字幕精品一二三四五六七八 | 国产在线天堂 | 亚洲第一国产视频 | 蜜桃视频一区二区 | 欧美两根一起进3p做受视频 | 午夜蜜桃视频 | 日本不卡在线 | 天天爽夜夜爽夜夜爽精品 | 国产精品成av人在线视午夜片 | 污视频网站在线看 | 色窝av| 久久婷婷久久 | 日韩av中文字幕在线免费观看 | 久久亚洲AV无码 | 久久a久久 | 丝袜一区二区三区 | 日韩精品人妻一区 | 日韩人妻精品一区二区三区视频 | 欧美激情视频在线 | 色欧美88888久久久久久影院 | 亚洲国产欧美一区二区三区深喉 | xxxxx在线视频 | 久久黄页 | 精品久久久噜噜噜久久久 | 日韩成人一区 | 亚洲aaaaaa | 五月婷在线观看 | 午夜性刺激免费视频 | 免费成年人视频在线观看 | 中文字幕第十一页 | 97免费人妻无码视频 | 欧美女人交配视频 | 免费精品视频 | 久久国产在线观看 | 日韩黄色av网站 | 在线天堂v| 精品久久在线观看 | 玖玖zyz| 视频在线亚洲 | 日韩一区二区三区在线 | 日本韩国欧美一区二区三区 | 久久人人爽人人 | 亚洲啪啪网站 | 亚洲男女在线 | 一级片日韩 | 亚洲一二区视频 | 欧美三级国产 | 18成人免费观看网站下载 | 欧美高清视频一区 | 国产伦精品一区二区三区高清版禁 | 午夜影院免费版 | 国产激情综合五月久久 | 亚州激情 | 久久久久久久久福利 | 国产又大又黄又粗 | 国产精品高潮呻吟久久av野狼 | 国产精品久久777777换脸 | 日韩欧美一区二区在线观看 | 久久精品视频久久 | 亚洲无码精品免费 | 午夜片在线观看 | 欧美亚洲色综久久精品国产 | 狠狠狠狠狠狠干 | 黑人一级女人全片 | 噼里啪啦动漫高清在线观看 | 成人无码一区二区三区 | 国语毛片 |