国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区

當前位置:首頁 > 科技  > 軟件

[Vue 3] 為什么需要同時使用 Ref 和 Reactive

來源: 責編: 時間:2023-08-09 23:02:05 426觀看
導讀AICube 開放GPT-4給大家使用以及AI工具助手,可以簡化大家生圖的的prompt。在使用 Options API 工作時聲明響應性數據是直截了當的。data 選項內的所有內容都會自動變為響應性,并在模板中可用。唯一需要注意的是,要將data

Nnt28資訊網——每日最新資訊28at.com

AICube 開放GPT-4給大家使用以及AI工具助手,可以簡化大家生圖的的prompt。Nnt28資訊網——每日最新資訊28at.com

在使用 Options API 工作時聲明響應性數據是直截了當的。data 選項內的所有內容都會自動變為響應性,并在模板中可用。唯一需要注意的是,要將data設為一個函數,以防止在所有組件實例之間共享狀態。Nnt28資訊網——每日最新資訊28at.com

讓我們討論一下Vue 3中發生了什么變化,以及為什么我們需要兩個不同的助手。Nnt28資訊網——每日最新資訊28at.com

Vue 2中的響應性

data 組件選項內的每個屬性都將通過 Object.defineProperty 轉換為getter/setter。這些getter/setter對我們來說是看不見的,但在底層,它們使Vue在訪問或修改屬性時能夠執行依賴跟蹤。Nnt28資訊網——每日最新資訊28at.com

每個組件都有一個關聯的觀察者,用于跟蹤在組件的渲染周期中使用的屬性。如果依賴項更新,觀察者會通知組件,然后觸發重新渲染。Nnt28資訊網——每日最新資訊28at.com

Vue 3中的響應性

在 Vue 3 中,一切都發生了變化。核心部分從零開始重寫,現在由Javascript Proxies提供響應性。Proxies是一種現代且優雅的方式來觀察一個對象并在其屬性被訪問或更新時得到通知。Nnt28資訊網——每日最新資訊28at.com

可以通過以下簡單的例子來理解代理是如何工作的:Nnt28資訊網——每日最新資訊28at.com

const userInfo = {  firstName: "fotis",  age: 35,};const handler = {  get(target, property) {    if (property === "firstName") {      const name = target[property]      return name.charAt(0).toUpperCase() + name.slice(1);    }    if (property === "age") {      return '--'    }    return target[property]  },};const proxy = new Proxy(userInfo, handler);console.log(proxy.firstName) // "Fotis"console.log(proxy.age) // "--"

處理器內部的get方法被稱為陷阱,每次訪問對象的屬性時都會被調用。以類似的方式,可以定義一個設定的陷阱:Nnt28資訊網——每日最新資訊28at.com

const userInfo = {  firstName: "Fotis",  age: 35,};const handler = {  set(target, prop, value) {    if (prop === "age") {      if (!Number.isInteger(value)) {        throw new TypeError("The age is not an integer");      }      if (value > 200) {        throw new RangeError("The age seems invalid");      }    }    target[prop] = value;    return true;  },};const proxy = new Proxy(userInfo, handler);proxy.age = 12 // OKproxy.age = 300 // Error: The age seems invalid

這正是 Vue 3 響應性背后的理念。當使用 reactive 助手聲明一個變量時,會使用一個 proxy. 來跟蹤任何變化。Nnt28資訊網——每日最新資訊28at.com

function reactive(obj) {  return new Proxy(obj, {    get(target, key) {      track(target, key)      return target[key]    },    set(target, key, value) {      target[key] = value      trigger(target, key)    }  })}

當然,響應式助手的實際實現更為復雜,能處理邊緣情況,但其核心仍然使用proxy。Nnt28資訊網——每日最新資訊28at.com

以上的片段解釋了為什么將響應性變量解構或重新分配給本地變量后,它就不再具有反應性,因為它不再觸發源對象上的 get/set proxy  陷阱。Nnt28資訊網——每日最新資訊28at.com

這看起來像是一個完美的解決方案,可以使所有事物都變成響應式。但是有個問題!根據定義,proxy只適用于復雜類型。這些包括對象、數組、映射和集合。要使一個原始類型變得反應靈敏,我們仍然需要使用代理,但首先我們必須將其包裝在一個對象中。Nnt28資訊網——每日最新資訊28at.com

function ref(value) {  const refObject = {    get value() {      track(refObject, 'value')      return value    },    set value(newValue) {      value = newValue      trigger(refObject, 'value')    }  }  return refObject}

這解釋了為什么必須在 script setup 中使用煩人的 .value 。而且,再次重構或重新分配給本地變量也是行不通的。Nnt28資訊網——每日最新資訊28at.com

總結

那么,為什么需要 Ref 和 Reactive 的答案是:Proxy。對于復雜類型,它們可以直接使用,但對于原始類型,需要創建一個代理對象。Nnt28資訊網——每日最新資訊28at.com

本文轉載自微信公眾號「大遷世界」,可以通過以下二維碼關注。轉載本文請聯系大遷世界公眾號。Nnt28資訊網——每日最新資訊28at.com

Nnt28資訊網——每日最新資訊28at.com

本文鏈接:http://m.rrqrq.com/showinfo-26-5099-0.html[Vue 3] 為什么需要同時使用 Ref 和 Reactive

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 微軟發布.NET 8 最終預覽版,正式版計劃 11 月 14 日發布

下一篇: 如何優雅地處理RabbitMQ中的消息丟失

標簽:
  • 熱門焦點
Top 国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区
国产欧美日韩一区二区三区| 久久国产婷婷国产香蕉| 丝袜亚洲另类欧美综合| 国产激情精品久久久第一区二区| 欧美~级网站不卡| 久久精品中文字幕一区二区三区| 日韩免费电影网站| 亚洲电影你懂得| 97久久精品人人澡人人爽| 噜噜噜在线观看免费视频日韩| 日韩精品专区在线影院重磅| 亚洲国产视频一区| 欧美freesex交免费视频| 欧美在线观看视频在线| 亚洲欧洲综合另类| youjizz久久| 综合亚洲深深色噜噜狠狠网站| 亚洲va在线va天堂| 午夜精品剧场| 欧美一卡二卡在线| 亚洲sss视频在线视频| 欧美日韩一视频区二区| 51午夜精品国产| 亚洲成在线观看| 国产精品久久7| 欧美一级欧美一级在线播放| 亚洲地区一二三色| 影音先锋亚洲一区| 久久久三级国产网站| 国产一区二区精品久久91| 亚洲欧美日韩国产一区二区| 国产精品传媒入口麻豆| av亚洲精华国产精华精华| 欧美日韩亚洲综合在线| 天堂成人免费av电影一区| 亚洲久久成人| 中文在线免费一区三区高中清不卡| 国产精品一区二区三区乱码| 色婷婷av一区| 午夜成人在线视频| 国产亚洲一级| 亚洲免费成人av| 国自产拍偷拍福利精品免费一| 精品成人在线观看| 国产98色在线|日韩| 欧美日韩久久久一区| 日韩电影在线免费看| 国产精品一级| 一区二区三区四区中文字幕| 欧美日韩影院| 国产精品欧美极品| 欧美国产综合视频| 欧美精彩视频一区二区三区| 91丨九色丨蝌蚪丨老版| 久久蜜桃av一区二区天堂| 成人精品视频一区二区三区 | 亚洲欧美偷拍卡通变态| 欧美视频福利| 136国产福利精品导航| 国产综合色一区二区三区| 国产精品卡一卡二| 国产精品二区影院| 亚洲欧美中日韩| av成人国产| 久久久久亚洲蜜桃| 欧美激情一区二区三区不卡| 国产精品亚洲第一区在线暖暖韩国| 欧美日韩在线播放三区| 久久99精品视频| 这里只有精品99re| bt欧美亚洲午夜电影天堂| 国产亚洲一区二区三区四区| 欧美另类女人| 一区二区三区小说| 在线观看欧美日本| 国产精品888| 久久久精品一品道一区| 日韩欧美专区在线| 成人性视频网站| 欧美国产激情一区二区三区蜜月| 国产精品啊v在线| 亚洲午夜精品久久久久久久久| 久久亚洲不卡| 国产伦理精品不卡| 国产欧美日韩视频一区二区 | 亚洲猫色日本管| 久久精品欧洲| 国产精品亚洲午夜一区二区三区| 久久先锋影音av| 亚洲精品无人区| 青青草97国产精品免费观看| 日韩欧美专区在线| 狠狠色综合网| 奇米精品一区二区三区四区| 欧美一级黄色片| 亚洲国产一区二区三区在线播| 天天综合网天天综合色 | 国产精品二区影院| 毛片不卡一区二区| 日本一区免费视频| 在线观看中文字幕不卡| www.成人网.com| 亚洲最新视频在线播放| 91精品国产综合久久香蕉麻豆| 91麻豆免费视频| 日韩中文字幕亚洲一区二区va在线| 欧美一区二区精品在线| 亚洲韩日在线| 国产高清成人在线| 一区二区三区中文字幕精品精品| 欧美日韩高清不卡| 亚洲高清成人| 国产精品正在播放| 亚洲一本大道在线| 精品乱码亚洲一区二区不卡| 亚洲欧美国产精品桃花| 成人av网站免费观看| 欧美激情综合五月色丁香| 日韩午夜视频在线观看| 午夜视频在线观看一区| 欧美日本一道本在线视频| 成人精品免费视频| 中日韩免费视频中文字幕| 国产麻豆综合| 九九**精品视频免费播放| 欧美电影免费观看高清完整版在线| 99久久er热在这里只有精品66| 国产精品每日更新| 日本高清无吗v一区| 国产v日产∨综合v精品视频| 国产精品人人做人人爽人人添| 中文日韩欧美| 国产在线播放一区三区四| 26uuu国产在线精品一区二区| 影音先锋中文字幕一区| 免费精品视频在线| 国产亚洲精品精华液| 在线亚洲成人| 国产精品1区2区3区| 国产精品福利电影一区二区三区四区| 欧美亚洲一区二区三区| 国产91丝袜在线18| 一区二区三区久久久| 7777精品伊人久久久大香线蕉 | 在线视频精品| 国产99精品视频| 尤物视频一区二区| 日韩美女一区二区三区| 国产精品手机视频| 成人性生交大合| 一区二区三区四区蜜桃| 欧美一级搡bbbb搡bbbb| 国产精品久久久久久久久久直播 | 在线不卡免费欧美| 在线亚洲观看| 91在线国产福利| 热久久一区二区| 亚洲免费在线播放| 精品美女一区二区| 欧美在线免费观看亚洲| 精品动漫av| eeuss鲁片一区二区三区在线观看| 亚洲超碰精品一区二区| 国产精品情趣视频| 日韩一区二区三区视频在线观看| 国产精品视频| 欧美激情自拍| 国产91精品免费| 日韩精品一二区| 亚洲精品国产精华液| 久久久久88色偷偷免费 | 一本大道久久a久久精二百 | 国产麻豆精品视频| 国产v综合v亚洲欧| 99精品欧美一区二区三区小说| 国产suv精品一区二区三区| 成人午夜在线视频| 99re6这里只有精品视频在线观看| 99久久99久久精品国产片果冻| 91丨porny丨中文| 亚洲无吗在线| 夜夜爽av福利精品导航 | 成人午夜av影视| 欧美成人有码| 亚洲毛片在线| 日本精品视频一区二区三区| 欧美性受极品xxxx喷水| 欧美一级日韩不卡播放免费| 精品福利视频一区二区三区| 国产人成亚洲第一网站在线播放 | 久久精品在线| 91精品国产综合久久久久久久久久| 日韩免费性生活视频播放| 久久精品视频免费| 亚洲欧美日韩系列| 日本va欧美va欧美va精品| 国产麻豆精品在线| 欧美福利网址| 久久国产主播精品| 欧美日韩国产小视频在线观看|