国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue2 如何監(jiān)聽(tīng)數(shù)組的變化

這篇具有很好參考價(jià)值的文章主要介紹了vue2 如何監(jiān)聽(tīng)數(shù)組的變化。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

在Vue 2中,底層是通過(guò)重寫(xiě)數(shù)組的原型方法來(lái)實(shí)現(xiàn)對(duì)數(shù)組變化的監(jiān)聽(tīng)。具體來(lái)說(shuō),Vue 2使用了一個(gè)名為Observer的類來(lái)劫持?jǐn)?shù)組的原型方法,使其在調(diào)用這些方法時(shí)能夠觸發(fā)相應(yīng)的變化通知。

當(dāng)Vue 2初始化一個(gè)響應(yīng)式對(duì)象時(shí),如果對(duì)象是一個(gè)數(shù)組,Vue會(huì)將數(shù)組的原型指向一個(gè)經(jīng)過(guò)改造的Array原型對(duì)象。這個(gè)改造后的原型對(duì)象中重寫(xiě)了數(shù)組的一些常用方法,如push、pop、shift、unshift、splice、sort和reverse等。當(dāng)調(diào)用這些方法時(shí),Vue會(huì)在內(nèi)部進(jìn)行一系列的操作,包括觸發(fā)變化通知、更新視圖等。

具體來(lái)說(shuō),當(dāng)調(diào)用數(shù)組的變異方法時(shí)(如push、pop、shift、unshift、splice、sort和reverse),Vue會(huì)執(zhí)行以下步驟:

  1. 調(diào)用原始的數(shù)組方法,對(duì)數(shù)組進(jìn)行相應(yīng)的變異操作。

  2. 在執(zhí)行變異操作后,Vue會(huì)觸發(fā)一個(gè)通知,通知相關(guān)的依賴(如視圖)進(jìn)行更新。

  3. 在通知的過(guò)程中,Vue會(huì)遍歷數(shù)組的所有觀察者(Observer)并調(diào)用它們的更新方法,以更新相關(guān)的依賴。

通過(guò)這種方式,Vue能夠?qū)崟r(shí)地捕獲數(shù)組的變化,并及時(shí)更新相關(guān)的依賴,從而實(shí)現(xiàn)對(duì)數(shù)組的監(jiān)聽(tīng)和響應(yīng)。

需要注意的是,Vue 2只能監(jiān)聽(tīng)到通過(guò)變異方法對(duì)數(shù)組進(jìn)行的變化,而無(wú)法監(jiān)聽(tīng)到直接修改數(shù)組某個(gè)元素或使用非變異方法(如filter、concat等)對(duì)數(shù)組進(jìn)行的變化。如果需要監(jiān)聽(tīng)這些非變異的數(shù)組變化,可以使用watch選項(xiàng)或$watch方法來(lái)手動(dòng)監(jiān)聽(tīng)數(shù)組的變化。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-658825.html

到了這里,關(guān)于vue2 如何監(jiān)聽(tīng)數(shù)組的變化的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 監(jiān)聽(tīng)數(shù)組Array變化或Obj屬性變化

    工作中經(jīng)常會(huì)遇到監(jiān)聽(tīng)數(shù)組發(fā)生變化時(shí)執(zhí)行相應(yīng)的回調(diào)觸發(fā)邏輯,客戶應(yīng)用場(chǎng)景中需要實(shí)現(xiàn)對(duì)象變量的動(dòng)態(tài)監(jiān)聽(tīng),當(dāng)變量發(fā)生變化時(shí)觸發(fā)回調(diào)函數(shù),實(shí)現(xiàn)事件發(fā)送等應(yīng)用場(chǎng)景。 ? ? ? 通常由以下兩種方式實(shí)現(xiàn)需求 一.通過(guò)改變對(duì)象原型prototype方法實(shí)現(xiàn)回調(diào)監(jiān)聽(tīng) 二.利用Proxy對(duì)象

    2024年02月09日
    瀏覽(19)
  • JS 監(jiān)聽(tīng)元素dom變化

    JS 監(jiān)聽(tīng)元素dom變化

    我們?cè)陂_(kāi)發(fā)中,會(huì)遇到一些需求,需要監(jiān)聽(tīng)元素變化,比如元素屬性變化,元素大小變化,今天,我們就來(lái)聊聊倆種常用實(shí)現(xiàn)監(jiān)聽(tīng)的方案,其他的自行研究 一、ResizeObserver ResizeObserver 是來(lái)監(jiān)聽(tīng)元素的大小位置發(fā)生變化,也可以說(shuō)是回流(重排)時(shí)的變化 然后,我們創(chuàng)建監(jiān)聽(tīng)器,

    2024年02月15日
    瀏覽(17)
  • vue watch監(jiān)聽(tīng)數(shù)據(jù)變化

    監(jiān)聽(tīng)數(shù)據(jù)變化,在Vue中是通過(guò)偵聽(tīng)器來(lái)實(shí)現(xiàn)的,你也可以將它理解為監(jiān)聽(tīng)器,時(shí)刻監(jiān)聽(tīng)某個(gè)數(shù)據(jù)的變化 這一次我們要添加的是watch屬性。下面我們先來(lái)眼熟一下偵聽(tīng)器的添加位置: 偵聽(tīng)器更多的是用在異步操作中,所謂異步操作就是數(shù)據(jù)返回有所延遲的操作,比如說(shuō)我們要請(qǐng)

    2024年02月12日
    瀏覽(31)
  • vue3監(jiān)聽(tīng)路由的變化

    vue3監(jiān)聽(tīng)路由的變化

    可以使用監(jiān)聽(tīng) router.currentRoute.value 的值,,來(lái)監(jiān)聽(tīng)路由的變化。 引入: setup使用 : 控制臺(tái)輸出的值 newValue : 如果我們只需要監(jiān)聽(tīng)當(dāng)前路由 name 的變化,就可以這么監(jiān)聽(tīng) router.currentRoute.value.name immediate:true //true 就表示會(huì)立即執(zhí)行。(watch默認(rèn)綁定,頁(yè)面首次加載時(shí),是不會(huì)執(zhí)行

    2024年02月12日
    瀏覽(21)
  • vue3 監(jiān)聽(tīng)props 的變化

    再三說(shuō)明 僅僅個(gè)人學(xué)習(xí)用,不誤導(dǎo)別人 我覺(jué)得props 會(huì)創(chuàng)建對(duì)應(yīng)的屬性,去接受這些值,比如傳遞一個(gè)ref的基本值 age props.age = age.value 傳遞一個(gè)ref的引用值 person props.person= person.value 傳遞一個(gè)reactive的引用值 person props.person= person 最開(kāi)始時(shí)候,props指向了一個(gè)響應(yīng)式的reactive pe

    2024年02月11日
    瀏覽(33)
  • Vue組件使用(父組件監(jiān)聽(tīng)子組件數(shù)據(jù)變化,子組件使用父組件的數(shù)據(jù),并監(jiān)聽(tīng)父組件的數(shù)據(jù)變化)

    Vue組件使用(父組件監(jiān)聽(tīng)子組件數(shù)據(jù)變化,子組件使用父組件的數(shù)據(jù),并監(jiān)聽(tīng)父組件的數(shù)據(jù)變化)

    父組件聲明變量 父組件向子組件傳遞數(shù)據(jù) Vue 數(shù)據(jù)類型 type 有以下幾種: String:字符串類型。例如:“hello world”。 Number:數(shù)字類型。例如:12,1.5。 Boolean:布爾類型。例如:true,false。 Object:對(duì)象類型。例如:{name: ‘Tom’, age: 20}。 Array:數(shù)組類型。例如:[1, 2, 3]。 Fun

    2024年02月14日
    瀏覽(21)
  • Vue3優(yōu)雅地監(jiān)聽(tīng)localStorage變化

    Vue3優(yōu)雅地監(jiān)聽(tīng)localStorage變化

    目錄 ??前言? ?? 為什么要這樣做? ?? 思路 ?? 實(shí)現(xiàn) ?? 實(shí)現(xiàn)中介者模式 ?? 重寫(xiě)localStorage ?? 實(shí)現(xiàn)useStorage hook ?? 測(cè)試 ?? 使用localStorage ?? 監(jiān)聽(tīng)localStorage變化 ?? 結(jié)果 ????????最近在研究框架,也仔細(xì)用了Vue3一些功能,今天分享一次我的實(shí)踐: ????????原生的

    2024年02月08日
    瀏覽(24)
  • vue3 動(dòng)態(tài)監(jiān)聽(tīng)瀏覽器窗口變化

    定義一個(gè)屬性記錄寬度 在 vue mounted 的時(shí)候 去掛載一下 window.onresize 方法 去監(jiān)聽(tīng)這個(gè) 屬性值的變化,如果發(fā)生變化則講這個(gè) val 傳遞給 this.screenWidth 這樣screenWidth就跟隨瀏覽器的窗口大小動(dòng)態(tài)變化了 進(jìn)行使用

    2024年02月13日
    瀏覽(22)
  • 19-vue2到vue3的一些變化

    Vue 2.x 有許多全局 API 和配置。 例如:注冊(cè)全局組件、注冊(cè)全局指令等。 Vue3.0中對(duì)這些API做出了調(diào)整: 將全局的API,即: Vue.xxx 調(diào)整到應(yīng)用實(shí)例( app )上 2.x 全局 API( Vue ) 3.x 實(shí)例 API ( app ) Vue.config.xxxx app.config.xxxx Vue.config.productionTip 移除 Vue.component app.component Vue.directive

    2024年02月07日
    瀏覽(23)
  • Vue中監(jiān)聽(tīng)路由參數(shù)變化的幾種方式

    Vue中監(jiān)聽(tīng)路由參數(shù)變化的幾種方式

    目錄 一. 路由監(jiān)聽(tīng)方式: 通過(guò) watch 進(jìn)行監(jiān)聽(tīng) 1. 監(jiān)聽(tīng)路由從哪兒來(lái)到哪兒去 2. 監(jiān)聽(tīng)路由變化獲取新老路由信息 3.??監(jiān)聽(tīng)路由變化觸發(fā)方法 4. 監(jiān)聽(tīng)路由的 path 變化 5.?監(jiān)聽(tīng)路由的 path 變化, 使用handler函數(shù) 6. 監(jiān)聽(tīng)路由的 path 變化,觸發(fā)methods里的方法? 二. 路由監(jiān)聽(tīng)方式:key是用

    2024年02月14日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包