欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue3中的toRef和toRefs的區(qū)別和用法示例小結(jié)

 更新時(shí)間:2024年08月10日 10:26:54   作者:藏藍(lán)色攻城獅  
toRef和toRefs可以用來(lái)復(fù)制reactive里面的屬性然后轉(zhuǎn)成 ref,它保留了響應(yīng)式,也保留了引用,也就是你從 reactive 復(fù)制過(guò)來(lái)的屬性進(jìn)行修改后,除了視圖會(huì)更新,原有 ractive 里面對(duì)應(yīng)的值也會(huì)跟著更新,本文介紹Vue3中toRef和toRefs的區(qū)別和用法,需要的朋友可以參考下

Vue3中的toRef和toRefs的區(qū)別和用法

剛做了Ref和Reactive區(qū)別及使用方法筆記(見(jiàn)文末補(bǔ)充介紹),再來(lái)總結(jié)一下,toReftoRefs 的作用、用法、區(qū)別

1、作用和區(qū)別

toRef 和 toRefs 可以用來(lái)復(fù)制 reactive 里面的屬性然后轉(zhuǎn)成 ref,而且它既保留了響應(yīng)式,也保留了引用,也就是你從 reactive 復(fù)制過(guò)來(lái)的屬性進(jìn)行修改后,除了視圖會(huì)更新,原有 ractive 里面對(duì)應(yīng)的值也會(huì)跟著更新。

toRef: 復(fù)制 reactive 里的單個(gè)屬性并轉(zhuǎn)成 ref
toRefs: 復(fù)制 reactive 里的所有屬性并轉(zhuǎn)成 ref

2、使用方式

2.1 toRef使用示例

<template>
  <h2>
    reactive-name: {{ user.name }} 
  </h2>
  <h2>
    toRef-name: {{ uName }}
  </h2>
  <button @click="onChangeName">點(diǎn)擊</button>
</template>
<script>
import { reactive, toRef } from 'vue'
export default {
	setup() {
    let user = reactive({
      name: 'zs',
      age: 18
    })
	// 復(fù)制 user 里的 name 屬性
    let uName = toRef(user, 'name')
    // 更改  
    const onChangeName = () => {
      uName.value = 'ls'
    }
    return {
      user,
      uName,
      onChangeName
    }
  }
}
</script> 

2.2 toRefs使用示例

<template>
  <h2>
        {{ name }} 
  </h2>
  <h2>
         {{ age }}
  </h2> 
</template>
<script>
import { reactive, toRef } from 'vue'
export default {
	setup() {
    let user = reactive({
      name: 'zs',
      age: 18
    }) 
    return {
         ...toRefs(user),
    }
  }
}
</script> 

補(bǔ)充:vue3響應(yīng)式:Ref和Reactive區(qū)別及使用方法

vue3響應(yīng)式:Ref和Reactive區(qū)別及使用方法

在Vue3中,RefReactive是兩個(gè)實(shí)現(xiàn)響應(yīng)式編程的關(guān)鍵的API。

1、區(qū)別

Ref:用于創(chuàng)建一個(gè)響應(yīng)式的基本數(shù)據(jù)類(lèi)型,比如數(shù)字、字符串等。它將普通的數(shù)據(jù)變成響應(yīng)式數(shù)據(jù),可以監(jiān)聽(tīng)數(shù)據(jù)的變化。使用Ref時(shí),我們可以通過(guò).value來(lái)訪問(wèn)和修改數(shù)據(jù)的值。

Reactive:Reactive則用于創(chuàng)建一個(gè)響應(yīng)式對(duì)象,可以包含多個(gè)屬性。通過(guò)Reactive,我們可以將整個(gè)對(duì)象變成響應(yīng)式,使對(duì)象的任何屬性發(fā)生變化時(shí)都能被檢測(cè)到。

2、ref使用場(chǎng)景

Ref:適用于管理簡(jiǎn)單的單一數(shù)據(jù),如計(jì)數(shù)器、輸入框的值等。

使用ref實(shí)現(xiàn)計(jì)數(shù)器示例

<template>
  <div>
    <p>Count: {{ i }}</p>
    <button @click="increment">Increment</button>
  </div>
</template>
<script>
import { ref } from 'vue';
	setup(){
		const i = ref(0); 
		const increment = () => {
		  i.value++;
		};
		return{
			i,increment
		} 
	} 
</script>

注意
1、在js中訪問(wèn)/修改需要使用.value
2、在模版中插值不需要使用.value

3、Reactive使用場(chǎng)景

使用Reactive實(shí)現(xiàn)管理用戶(hù)信息和訂單示例1

<template>
  <div>
    <p>User Name: {{ user.name }}</p>
    <p>Age: {{ user.age }}</p> 
  </div>
</template>
<script>
import { reactive } from 'vue';
setup(){
	const user = reactive({
	  name: 'Alice',
	  age: 30
	});
	return{
		user
	}
} 
</script> 

使用Reactive實(shí)現(xiàn)管理用戶(hù)信息和訂單示例2

<template>
  <div>
    <p>User Name: {{ name }}</p>
    <p>Age: {{ age }}</p> 
  </div>
</template>
<script setup>
import { reactive } from 'vue';
setup(){
	const user = reactive({
	  name: 'Alice',
	  age: 30
	});
	return{
       ...toRefs(user)
	}
} 
</script> 

注意,return中是否使用展開(kāi)運(yùn)算符的差別

到此這篇關(guān)于Vue3中的toRef和toRefs的區(qū)別和用法的文章就介紹到這了,更多相關(guān)Vue3 toRef和toRefs內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論