中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue3中ref與toRef的區別是什么

發布時間:2021-06-23 11:38:46 來源:億速云 閱讀:387 作者:chen 欄目:開發技術

本篇內容主要講解“Vue3中ref與toRef的區別是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Vue3中ref與toRef的區別是什么”吧!

1. ref是復制,視圖會更新

如果利用ref將某一個對象中的某一個屬性值變成響應式數據

我們修改響應式數據是不會影響原始數據的;

同時視圖會跟新。

ref就是復制 復制是不會影響原始數據的

<template>
 <div>
    <div>
      <div>{{stateObj}}</div>
       <button @click="func1">按鈕</button>
    </div>
 </div>
</template>
<script>
import {ref} from 'vue'
export default {
  name: 'App',
  setup(){
    let obj={name:"張三",age:22}
    
    //將對象中的某一個屬性
    //變成響應式數據
    //而不是將對象變成響應式數據
    let stateObj=ref(obj.name)
    function func1(){
      stateObj.value="張三變成李四";
      //原始數據沒有發生改變 原始數據obj {name: "張三", age: 22}
      console.log("原始數據obj",obj)

      //響應式數據發生改變了  
      /**
      響應式stateObj RefImpl {
          _rawValue: "張三變成李四", _shallow: false,
          __v_isRef: true, _value: "張三變成李四"
      }
      **/
      //變成了一個ref的對象
      console.log("響應式stateObj",stateObj)

    }

    return {stateObj,func1}
},
}
</script>

2.toRef是引用,視圖不跟新

如果利用toRef將某一個對象中的屬性變成了響應式的數據

我們修改響應式的數據是會影響原始數據的

如果數據是通過toRef創建的,修改值后,數據不會觸發視圖

toRef是引用;它引用的是以前那個對象中的屬性

所以你修改后,會影響到原始數據終中的值

<template>
 <div>
    <div>
      <div>{{state}}</div>
       <button @click="func1">按鈕</button>
    </div>
 </div>
</template>
<script>
import {toRef} from 'vue'
export default {
  name: 'App',
  setup(){
    let obj={name:"張三",age:22}
    //將對象中的某一個屬性name變成響應式數據
    //而不是將對象變成響應式數據
    let state=toRef(obj, 'name');
    console.log('toRef',state)
    function func1(){
      state.value="我是李四";
      console.log('obj',obj)
      console.log('state',state)
    }
    return {state,func1}
  },
}
</script>

3.結論

ref復制, 修改響應式數據,不會影響以前的數據,界面會更改。

toRef引用, 修改響應式的數據,會影響以前的數據,界面不會更新。

toRef的使用場景

如果想讓響應式數據和原始數據關聯起來。

并且更新響應式數據后,不想視圖更新;那么就可以使用toRef

小結:

ref和toRef的區別

(1). ref本質是拷貝,修改響應式數據不會影響原始數據;toRef的本質是引用關系,修改響應式數據會影響原始數據

(2). ref數據發生改變,界面會自動更新;toRef當數據發生改變是,界面不會自動更新

(3). toRef傳參與ref不同;toRef接收兩個參數,第一個參數是哪個對象,第二個參數是對象的哪個屬性

到此,相信大家對“Vue3中ref與toRef的區別是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

铜川市| 古浪县| 定州市| 吉首市| 南汇区| 锡林浩特市| 从化市| 仙桃市| 修武县| 衡南县| 福清市| 饶阳县| 安宁市| 平遥县| 静海县| 凯里市| 讷河市| 临夏市| 科技| 武乡县| 清苑县| 普定县| 永嘉县| 沧州市| 安化县| 岳普湖县| 阿鲁科尔沁旗| 阜宁县| 正定县| 肥西县| 巴中市| 库伦旗| 泗洪县| 璧山县| 宾阳县| 崇州市| 萨嘎县| 涿州市| 惠水县| 诸暨市| 鄂托克旗|