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

Vue toRef toRefs toRaw函數(shù)使用示例

 更新時間:2023年03月09日 09:33:36   作者:劍九 六千里  
這篇文章主要介紹了Vue toRef toRefs toRaw函數(shù)使用示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧

1. toRef

  • 將一個對象中的屬性轉換成單獨的響應式引用
  • 接收兩個參數(shù):參數(shù)一 => 對象 參數(shù)二 => 屬性
  • 轉換后的響應式引用會跟蹤原始屬性的變化
  • 轉換后的響應式可以被用于計算屬性及監(jiān)聽器中

使用toRef函數(shù)

<template>
  <div class="wrapper">
    <button @click="handleClick">修改</button>
    <div>countRef: {{ countRef }}</div>
  </div>
</template>
<script setup lang="ts">
import { reactive, toRef } from 'vue';
let obj = {
  name: '張三',
  count: 0
}
let countRef = toRef(obj, 'count')
const handleClick = () => {
  countRef.value++
  console.log(countRef.value, 'countRef.value');
}
</script>
<style scoped>
div {
  font-size: 28px;
}
</style>

原對象為非響應式,改變后,值會改變,但頁面不會更新

原對象是響應式,改變后,值改變,頁面也會更新

<template>
  <div class="wrapper">
    <button @click="handleClick">修改</button>
    <div>countRef: {{ countRef }}</div>
  </div>
</template>
<script setup lang="ts">
import { reactive, toRef } from 'vue';
let obj = reactive({
  name: '張三',
  count: 0
})
let countRef = toRef(obj, 'count')
const handleClick = () => {
  countRef.value++
  console.log(countRef.value, 'countRef.value');
}
</script>
<style scoped>
div {
  font-size: 28px;
}
</style>

2. toRefs

  • 將一個對象的所有屬性變成響應式引用
  • 接收一個對象
  • 追蹤原對象的引用關系
  • 原對象如果是響應式的,那么修改值會更新,視圖會刷新
  • 原對象如果非響應式,那么修改值會更新,視圖不會更新

使用toRefs函數(shù)

<template>
  <div>
    <button @click="handleClick">修改</button>
    <div>num: {{ num }}</div>
    <div>count: {{ count }}</div>
    <div>age: {{ age }}</div>
  </div>
</template>
<script setup lang="ts">
import { reactive, toRefs } from 'vue';
let obj = reactive({
  num: 0,
  count: 0,
  age: 0
})
let { num, count, age } = toRefs(obj)
const handleClick = () => {
  num.value++
  console.log(num.value, 'num.value');
  count.value++
  console.log(count.value, 'count.value');
  age.value++
  console.log(age.value, 'age.value');
}
</script>
<style scoped>
div {
  font-size: 28px;
}
</style>

3. toRaw

  • 將一個響應式對象變成非響應式
  • 修改值會更新,視圖不會刷新

使用toRaw函數(shù)

<template>
  <div>
    <button @click="handleClick">修改</button>
    <div>num: {{ num }}</div>
    <div>count: {{ count }}</div>
    <div>age: {{ age }}</div>
  </div>
</template>
<script setup lang="ts">
import { reactive, toRaw } from 'vue';
let obj = reactive({
  num: 0,
  count: 0,
  age: 0
})
let { num, count, age } = toRaw(obj)
const handleClick = () => {
  num++
  console.log(num, 'num');
  count++
  console.log(count, 'count');
  age++
  console.log(age, 'age');
}
</script>
<style scoped>
div {
  font-size: 28px;
}
</style>

總結:這篇文章介紹了Vue3中將響應式對象的屬性轉換為響應式引用的toRef函數(shù)和用于將多個響應式對象的屬性轉換為響應式引用的toRefs函數(shù),以及用于獲取響應式對象的原始對象的toRaw函數(shù)。這些函數(shù)可以幫助我們快速創(chuàng)建響應式數(shù)據(jù),實現(xiàn)數(shù)據(jù)的自動更新。需要注意的是,使用toRaw函數(shù)獲取一個響應式對象的原始對象是不推薦的做法,因為原始對象不具備響應式的特性,對原始對象的修改不會觸發(fā)相應的依賴更新。

到此這篇關于Vue toRef toRefs toRaw函數(shù)使用示例的文章就介紹到這了,更多相關Vue toRef toRefs toRaw內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue中實現(xiàn)動態(tài)生成二維碼的方法

    vue中實現(xiàn)動態(tài)生成二維碼的方法

    這篇文章主要介紹了vue中實現(xiàn)動態(tài)生成二維碼的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • vue基礎ESLint?Prettier配置教程詳解

    vue基礎ESLint?Prettier配置教程詳解

    這篇文章主要介紹了vue基礎ESLint?Prettier配置教程詳解,本文使用VsCode?+?Vue?+?ESLint?+?Prettier?實現(xiàn)代碼格式規(guī)范?+?保存自動修復代碼js+vue
    2022-07-07
  • vue父子組件的嵌套的示例代碼

    vue父子組件的嵌套的示例代碼

    本篇文章主要介紹了vue父子組件的嵌套的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 在vue框架下使用指令vue add element安裝element報錯問題

    在vue框架下使用指令vue add element安裝element報錯問題

    這篇文章主要介紹了在vue框架下使用指令vue add element安裝element報錯問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue學習記錄之動態(tài)組件淺析

    vue學習記錄之動態(tài)組件淺析

    動態(tài)組件指的是動態(tài)切換組件的顯示與隱藏,這篇文章主要給大家介紹了關于vue學習記錄之動態(tài)組件的相關資料,本文通過示例代碼介紹介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • 使用Vue.js創(chuàng)建一個時間跟蹤的單頁應用

    使用Vue.js創(chuàng)建一個時間跟蹤的單頁應用

    這篇文章主要介紹了使用Vue.js創(chuàng)建一個時間跟蹤的單頁應用的相關資料,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • Vue開發(fā)項目中如何使用Font Awesome 5

    Vue開發(fā)項目中如何使用Font Awesome 5

    Font Awesome是一套流行的圖標字體庫,我們在實際開發(fā)的過程中會經(jīng)常遇到需要使用圖標的場景,對于一些常用的圖標,我們可以直接在Font Awesome中找到并且使用,這篇文章主要給大家介紹了關于Vue開發(fā)項目中如何使用Font Awesome5的相關資料,需要的朋友可以參考下
    2021-11-11
  • vue遞歸生成樹狀結構的示例代碼

    vue遞歸生成樹狀結構的示例代碼

    這篇文章主要介紹了vue遞歸生成樹狀結構的示例,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-07-07
  • vue elementui 實現(xiàn)搜索欄公共組件封裝的實例代碼

    vue elementui 實現(xiàn)搜索欄公共組件封裝的實例代碼

    這篇文章主要介紹了vue elementui 搜索欄公共組件封裝,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • Vue3項目中引入html頁面的方法舉例

    Vue3項目中引入html頁面的方法舉例

    這篇文章主要給大家介紹了關于Vue3項目中引入html頁面的相關資料,Vue3是一個JavaScript框架,通常我們使用它來構建單頁應用程序(SPA),如果你想在HTML頁面中使用Vue3,可以參考這篇文章,需要的朋友可以參考下
    2023-09-09

最新評論

三门县| 阳东县| 东源县| 聂荣县| 万源市| 望谟县| 沐川县| 鸡西市| 阿城市| 玛多县| 惠安县| 平罗县| 巢湖市| 西安市| 云和县| 乾安县| 双流县| 和田市| 霍城县| 鄂州市| 长阳| 临海市| 苏尼特左旗| 嵩明县| 怀来县| 兴和县| 安福县| 云安县| 安国市| 保定市| 临沧市| 遂宁市| 永寿县| 东乌珠穆沁旗| 株洲市| 岑巩县| 福鼎市| 资源县| 八宿县| 昌都县| 九龙城区|