欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

vue3中的ref、toRef、toRefs怎么使用

這篇文章主要講解了“vue3中的ref、toRef、toRefs怎么使用”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“vue3中的ref、toRef、toRefs怎么使用”吧!

創(chuàng)新互聯(lián)是專業(yè)的福州網(wǎng)站建設(shè)公司,福州接單;提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行福州網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

一、ref

ref 函數(shù),可以把簡(jiǎn)單數(shù)據(jù)類型包裹為響應(yīng)式數(shù)據(jù)(復(fù)雜類型也可以),注意 JS 中操作值的時(shí)候,需要加 .value 屬性,模板中正常使用即可。
舉個(gè)例子:

  • ref包裝基本類型數(shù)據(jù)
    App.vue

<template>
  <div class="container">
      <div>{{ name }}</div>
      <button @click="updateName">修改數(shù)據(jù)</button>
  </div></template><script>
  import { ref } from 'vue'
  export default {
      name: 'App',
      setup() {
          const name = ref('初映')
          const updateName = () => {
              name.value = '初映CY的前說(shuō)'
          }
          return { name, updateName }
      },
  }</script>

vue3中的ref、toRef、toRefs怎么使用
可看見(jiàn)寫法與reactive()一樣,不過(guò)是在js中書(shū)寫的時(shí)候需要額外加一個(gè).value即可。

  • ref包裝復(fù)雜類類型數(shù)據(jù)
    注意:ref 其實(shí)也可以包裹復(fù)雜數(shù)據(jù)類型為響應(yīng)式數(shù)據(jù),一般對(duì)于數(shù)據(jù)類型未確定的情況下推薦使用 ref,例如后端返回的數(shù)據(jù)。

<template>
    <div class="container">
        <div>{{ data?.name }}</div>
        <button @click="updateName">修改數(shù)據(jù)</button>
    </div></template><script>
    import { ref } from 'vue'
    export default {
        name: 'App',
        setup() {
            // 初始值是 null
            const data = ref(null)
            setTimeout(() => {
                // 右邊的對(duì)象可能是后端返回的
                data.value = {
                    name: '初映',
                }
            }, 1000)
            const updateName = () => {
                data.value.name = 'CY'
            }
            return { data, updateName }
        },
    }</script>

vue3中的ref、toRef、toRefs怎么使用

  • 如何選擇?
    ref()和reactive()都是Vue.js3.0中提供的兩個(gè)響應(yīng)式API。
    ref()主要用于創(chuàng)建一個(gè)響應(yīng)式數(shù)據(jù),它會(huì)將一個(gè)普通的JavaScript對(duì)象轉(zhuǎn)換為一個(gè)響應(yīng)式的對(duì)象,從而使數(shù)據(jù)的變化可以被Vue實(shí)例所追蹤,當(dāng)數(shù)據(jù)發(fā)生變化時(shí),Vue會(huì)自動(dòng)更新相關(guān)視圖。ref()創(chuàng)建的響應(yīng)式數(shù)據(jù)可以通過(guò).value屬性來(lái)訪問(wèn)和修改。
    reactive()則主要用于創(chuàng)建一個(gè)響應(yīng)式對(duì)象,可以用作包含多個(gè)值的狀態(tài)對(duì)象,通常用于管理復(fù)雜的狀態(tài)。它可以將一個(gè)普通的JavaScript對(duì)象轉(zhuǎn)換為一個(gè)響應(yīng)式對(duì)象,并且支持嵌套屬性,即使嵌套屬性發(fā)生變化也會(huì)被Vue實(shí)例所追蹤。當(dāng)響應(yīng)式對(duì)象中有任何一個(gè)屬性發(fā)生變化時(shí),Vue也會(huì)自動(dòng)更新相關(guān)的視圖。
    當(dāng)你明確知道需要包裹的是一個(gè)對(duì)象,那么推薦使用 reactive,其他情況使用 ref 即可。
    Vue3.2 之后,更推薦使用 ref,性能得到了很大的提升。

二、toRef

toRef 函數(shù)的作用:轉(zhuǎn)換響應(yīng)式對(duì)象中某個(gè)屬性為單獨(dú)響應(yīng)式數(shù)據(jù),并且轉(zhuǎn)換后的值和之前是關(guān)聯(lián)的(ref 函數(shù)也可以轉(zhuǎn)換,但值非關(guān)聯(lián))。
先看下面這個(gè)例子:

<template>
  <div class="container">
      <h3>name: {{ obj.name }} age: {{obj.age}}</h3>
      <button @click="updateName">修改數(shù)據(jù)</button>
  </div></template><script>
  import { reactive } from 'vue'
  export default {
      name: 'App',
      setup() {
          const obj = reactive({
              name: '初映',
              age: 18,
              address: '江西',
              sex: '男',
          })
          const updateName = () => {
              obj.name = '初映CY的前說(shuō)'
          }
          return { obj, updateName }
      },
  }</script>

vue3中的ref、toRef、toRefs怎么使用
這樣寫也可以將數(shù)據(jù)進(jìn)行更改成為響應(yīng)式的數(shù)據(jù),但是帶來(lái)了兩個(gè)問(wèn)題:

  • 問(wèn)題 1:模板中都要使用 obj. 進(jìn)行獲取數(shù)據(jù),麻煩。

  • 問(wèn)題 2:明明模板中只用到了 name 和 age,卻把整個(gè) obj 進(jìn)行了導(dǎo)出,沒(méi)必要,性能浪費(fèi)。

<template>
  <div class="container">
      <h3>name: {{ name }} </h3>
      <button @click="updateName">修改數(shù)據(jù)</button>
  </div></template><script>
  import { reactive,toRef  } from 'vue'
  export default {
      name: 'App',
      setup() {
          const obj = reactive({
              name: '初映',
              age: 18,
              address: '江西',
              sex: '男',
          })
          const name = toRef(obj, 'name')
          const updateName = () => {
              obj.name = '初映CY的前說(shuō)'
          }
          return { name, updateName }
      },
  }</script>

這樣把我們需要的數(shù)據(jù)放進(jìn)return即可,節(jié)約了性能與在模板中的寫法,有點(diǎn)點(diǎn)了‘按需導(dǎo)入’的意思

三、torefs

toRefs 函數(shù)的作用:轉(zhuǎn)換響應(yīng)式對(duì)象中所有屬性為單獨(dú)響應(yīng)式數(shù)據(jù),并且轉(zhuǎn)換后的值和之前是關(guān)聯(lián)的。

<template>
  <div class="container">
      <h3>{{ name }} {{ age }}</h3>
      <button @click="updateName">修改數(shù)據(jù)</button>
  </div></template><script>
  import { reactive, toRefs } from 'vue'
  export default {
      name: 'App',
      setup() {
          const obj = reactive({
              name: '初映',
              age: 10,
          })
          const updateName = () => {
              obj.name = '初映CY的前說(shuō)'
              obj.age = 18
          }
          return { ...toRefs(obj), updateName }
      },
  }</script>

vue3中的ref、toRef、toRefs怎么使用
toRefs將我們所有的響應(yīng)式數(shù)據(jù)都進(jìn)行return出去了,屆時(shí)直接用上數(shù)據(jù)名稱即可,記得加上…喔

感謝各位的閱讀,以上就是“vue3中的ref、toRef、toRefs怎么使用”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)vue3中的ref、toRef、toRefs怎么使用這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

當(dāng)前標(biāo)題:vue3中的ref、toRef、toRefs怎么使用
文章源于:http://aaarwkj.com/article46/ispshg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、營(yíng)銷型網(wǎng)站建設(shè)網(wǎng)站營(yíng)銷、品牌網(wǎng)站設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
国产精品久久中文字幕网| 九九精品在线观看视频| 91中文字幕精品一区二区| 免费高清av中文字幕| 日日夜夜添添精品视频| 国产成人综合亚洲国产| 国产一区二区三区在线精品专区| 久久久久精品激情三级| 亚洲av综合色区一区| 亚洲禁看av一区不卡| 成年人在线观看免费观看| 国产自拍成人精品视频| 国产欧美日韩91成人| 国产精品人妻在线av| 欧美国产大片一区视频| 亚洲av天堂在线观看| 亚洲国产第一尤物视频| 韩国av网址在线观看| 日本高清精品视频在线| 一区二区三区乱码国产在线| 亚洲日本国产精品第一页| 欧美日韩亚洲精品三级| 91成人伦理在线观看| 又黄又爽又刺激的性视频| 日韩黄色成人在线观看| 四虎精品在线免费视频| 亚洲国际天堂av在线| 精品偷拍污视频一区二区| 日韩av网址在线免费观看| 日韩激情小视频在线观看| 91中文字幕国产日韩| 久久香蕉精品国产亚洲av| 欧美精品国产亚洲另类| 少妇精品偷拍高潮少妇在线观看| 中国女人内射69xx| 91福利社区欧美大片| 偷拍视频在线一区二区| 成人国产精品2021| 日本熟妇中文字幕三级久久| 国产免费成人在线视频| 亚洲性感人妻系列网站|