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

Vue API中setup ref reactive函數使用教程

 更新時間:2022年12月12日 09:18:03   作者:糖^O^  
setup是用來寫組合式api,內部的數據和方法需要通過return之后,模板才能使用。在之前vue2中,data返回的數據,可以直接進行雙向綁定使用,如果我們把setup中數據類型直接雙向綁定,發(fā)現變量并不能實時響應。接下來就詳細看看它們的使用

1.setup

組件中所用到的:數據、方法等等,均要配置在setup中

setup函數的兩種返回值:

若返回一個對象,則對象中的屬性、方法, 在模板中均可以直接使用。(重點注意)

若返回一個渲染函數:則可以自定義渲染內容。

注意:

vue2可以讀取vue3里面的數據

如果 vue2和vue3沖突,會用vue3的,所以

盡量不要與Vue2.x配置混用

  • Vue2.x配置(data、methos、computed…)中可以訪問到setup中的屬性、方法
  • 但在setup中不能訪問到Vue2.x配置(data、methods、computed…)
  • 如果有重名, setup優(yōu)先

setup不能是一個async函數,因為返回值不再是return的對象, promise,

模板看不到return對象中的屬性

2.ref函數

可以定義一個響應式的數據

語法: const xxx = ref(initValue)

  • JS中操作時: xxx.value
  • 模板中讀取數據: 不需要.value,直接:<div>{{xxx}}</div>

注:

  • 接收的數據可以是:基本類型、也可以是對象類型
  • 基本類型的數據:響應式依然是靠Object.defineProperty()getset完成的

3.reactive函數

一個對象類型的響應式數據(基本類型不要用它,要用ref函數)

const 代理對象= reactive(源對象)接收一個對象(或數組),返回一個代理對象(Proxy的實例對象,簡稱proxy對象)

4.Vue3.0中的響應式原理

vue2.x的響應式

對象類型:通過Object.defineProperty()對屬性的讀取、修改進行攔截(數據劫持)

數組類型:通過重寫更新數組的一系列方法來實現攔截

Object.defineProperty(data, 'count', {
    get () {}, 
    set () {}
})

但是存在一些問題: 新增屬性、刪除屬性, 界面不會更新; 直接通過下標修改數組, 界面不會自動更新。

Vue3.0的響應式

  • 通過Proxy(代理): 攔截對象中任意屬性的變化, 包括:屬性值的讀寫、屬性的添加、屬性的刪除等
  • 通過Reflect(反射): 對源對象的屬性進行操作
new Proxy(data, {
	// 攔截讀取屬性值
    get (target, prop) {
    	return Reflect.get(target, prop)
    },
    // 攔截設置屬性值或添加新屬性
    set (target, prop, value) {
    	return Reflect.set(target, prop, value)
    },
    // 攔截刪除屬性
    deleteProperty (target, prop) {
    	return Reflect.deleteProperty(target, prop)
    }
})
proxy.name = 'tom'   

5.reactive對比ref

從定義數據角度對比:

  • ref用來定義:基本類型數據。
  • reactive用來定義:對象(或數組)類型數據。
  • ref也可以用來定義對象(或數組)類型數據, 它內部會自動通過reactive轉為代理對象

從原理角度對比:

  • ref通過Object.defineProperty()getset來實現響應式
  • reactive通過使用Proxy來實現響應式(數據劫持), 并通過Reflect操作源對象內部的數據

從使用角度對比:

  • ref定義的數據:操作數據需要.value,讀取數據時模板中直接讀取不需要.value
  • reactive定義的數據:操作數據與讀取數據:均不需要.value

到此這篇關于Vue API中setup ref reactive函數使用教程的文章就介紹到這了,更多相關Vue setup ref reactive內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue使用el-table實現表格跨頁多選

    Vue使用el-table實現表格跨頁多選

    在我們日常項目開發(fā)中,經常會有表格跨頁多選的需求,接下來讓我們用?el-table示例一步步來實現這個需求,文中有詳細的代碼講解,對我們的學習或工作有一定的幫助,需要的朋友可以參考下
    2023-08-08
  • Vue關于訪問外鏈失敗的問題

    Vue關于訪問外鏈失敗的問題

    這篇文章主要介紹了Vue關于訪問外鏈失敗的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • vue 設置proxyTable參數進行代理跨域

    vue 設置proxyTable參數進行代理跨域

    這篇文章主要介紹了vue 設置proxyTable參數進行代理跨域的相關資料,及代理跨域的概念原理,需要的朋友可以參考下
    2018-04-04
  • 教你使用vue-autofit 一行代碼搞定自適應可視化大屏

    教你使用vue-autofit 一行代碼搞定自適應可視化大屏

    這篇文章主要為大家介紹了使用vue-autofit 一行代碼搞定自適應可視化大屏教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • Vue.js遞歸組件實現組織架構樹和選人功能

    Vue.js遞歸組件實現組織架構樹和選人功能

    這篇文章主要介紹了Vue.js遞歸組件實現組織架構樹和選人功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Vue實現微信小程序中預覽文件的縮放功能

    Vue實現微信小程序中預覽文件的縮放功能

    在微信小程序中,默認情況下,文件預覽功能不支持文檔縮放,導致用戶在遇到小字體時難以清晰閱讀,為了解決這一問題并提升用戶體驗,實現文檔的縮放功能至關重要,所以本文
    2024-12-12
  • vue使用Element組件時v-for循環(huán)里的表單項驗證方法

    vue使用Element組件時v-for循環(huán)里的表單項驗證方法

    這篇文章主要介紹了vue使用Element組件時v-for循環(huán)里的表單項驗證方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • vue數組中不滿足條件跳出循環(huán)問題

    vue數組中不滿足條件跳出循環(huán)問題

    這篇文章主要介紹了vue數組中不滿足條件跳出循環(huán)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Vue路由History模式分析

    Vue路由History模式分析

    Vue-router是Vue的核心組件,主要是作為Vue的路由管理器,Vue-router默認hash模式,通過引入Vue-router對象模塊時配置mode屬性可以啟用history模式,本文將通過代碼示例給大家詳細分析Vue路由History模式
    2023-06-06
  • vue路由實現登錄攔截

    vue路由實現登錄攔截

    這篇文章主要介紹了vue路由如何實現登錄攔截,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下
    2021-03-03

最新評論

吕梁市| 海丰县| 宜兰县| 华坪县| 仁怀市| 克东县| 临邑县| 西乌珠穆沁旗| 吴堡县| 吴堡县| 滦平县| 新昌县| 陕西省| 罗山县| 正镶白旗| 孝感市| 巴彦县| 西华县| 上犹县| 佛山市| 增城市| 肥城市| 马鞍山市| 武功县| 达日县| 洛南县| 息烽县| 阳谷县| 集安市| 郧西县| 丰台区| 南华县| 东乡族自治县| 贺兰县| 彭阳县| 安吉县| 迭部县| 华安县| 镇坪县| 仪征市| 申扎县|