Vue創(chuàng)建淺層響應(yīng)式數(shù)據(jù)的實例詳解
shallowReactive:只處理對象第一層數(shù)據(jù)的響應(yīng)式(淺響應(yīng)式)。
shallowRef:只處理基本數(shù)據(jù)類型的響應(yīng)式,不處理對象類型的響應(yīng)式。
shallowReactive 適用于:如果有一個對象類型的數(shù)據(jù),結(jié)構(gòu)比較深,但變化時只是外層屬性會變化。
shallowRef 適用于:如果有一個對象類型的數(shù)據(jù),后續(xù)功能不會修改該對象中的屬性,而是生成新的對象來替換。
只考慮第一層數(shù)據(jù)的響應(yīng)式 shallowReactive 函數(shù):
<template> <h2>姓名:{{ info.name }}</h2> <h2>年齡:{{ info.age }}</h2> <h2>薪資:{{ info.job.money }}</h2> <button @click="info.name += '風(fēng)'">修改姓名</button> <button @click="info.age++">修改年齡</button> <button @click="info.job.money++">增加薪資</button> </template> <script> // 引入 shallowReactive 函數(shù) import { shallowReactive } from 'vue' export default { name: "Home", setup() { // 只考慮第一層數(shù)據(jù)的響應(yīng)式 let info = shallowReactive({ name: "張三", age: 18, job: { money: 20 } }) // 返回數(shù)據(jù) return { info } } } </script>
注:使用 shallowReactive 創(chuàng)建的數(shù)據(jù),只有第一層是響應(yīng)式的,深層數(shù)據(jù)修改后,頁面不會實時更新。
只考慮基本數(shù)據(jù)類型的響應(yīng)式 shallowRef 函數(shù) :
<template> <h2>數(shù)字:{{ sum }}</h2> <button @click="sum++">數(shù)據(jù)+1</button> <hr /> <h2>姓名:{{ info.name }}</h2> <button @click="info = { name: '李四' }">修改姓名</button> <hr /> <h2>年齡:{{ user.age }}</h2> <button @click="user.age++">增加年齡</button> </template> <script> // 引入 shallowRef 函數(shù) import { shallowRef } from 'vue' export default { name: "Home", setup() { // 只處理基本數(shù)據(jù)類型的響應(yīng)式 let sum = shallowRef(10); // 直接替換這個對象時,頁面也會更新 let info = shallowRef({ name: "張三" }) // 不處理對象類型的響應(yīng)式 let user = shallowRef({ age: 18 }) // 返回數(shù)據(jù) return { sum, info, user } } } </script>
注:使用 shallowRef 創(chuàng)建基礎(chǔ)數(shù)據(jù)類型是響應(yīng)式的,創(chuàng)建對象數(shù)據(jù)類型就不是響應(yīng)式的了。但可以直接替換這個對象,頁面也會實時更新。
到此這篇關(guān)于Vue創(chuàng)建淺層響應(yīng)式數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Vue響應(yīng)式數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue父組件監(jiān)聽子組件數(shù)據(jù)更新方式(hook)
這篇文章主要介紹了vue父組件監(jiān)聽子組件數(shù)據(jù)更新方式(hook),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08詳解關(guān)于Vue2.0路由開啟keep-alive時需要注意的地方
這篇文章主要介紹了關(guān)于Vue2.0路由開啟keep-alive時需要注意的地方,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09vue使用echarts實現(xiàn)中國地圖和點擊省份進行查看功能
這篇文章主要介紹了vue使用echarts實現(xiàn)中國地圖和點擊省份進行查看功能,本文通過實例代碼給大家詳細講解,對vue echarts 中國地圖相關(guān)知識感興趣的朋友一起看看吧2022-12-12解決vue中post方式提交數(shù)據(jù)后臺無法接收的問題
今天小編就為大家分享一篇解決vue中post方式提交數(shù)據(jù)后臺無法接收的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08Vue中如何實現(xiàn)在線預(yù)覽word文件、excel文件
這篇文章主要介紹了Vue中如何實現(xiàn)在線預(yù)覽word文件、excel文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07