Vue3的組合式API中使用ref()函數(shù)的例子
你們是否聽說過Vue3的組合式API?它可是Vue3的新玩法,把以前的Vue2組件函數(shù)轉(zhuǎn)化為了函數(shù)組件。好了,今天我要和大家分享的是如何在組合式API中使用ref()函數(shù)。
首先,ref()函數(shù)是用來(lái)創(chuàng)建響應(yīng)式數(shù)據(jù)的,它的作用就像是你給一個(gè)變量打上了一個(gè)標(biāo)簽,這樣Vue就能知道這個(gè)變量的位置了。接下來(lái),我們來(lái)看幾個(gè)例子吧!
首先,我們來(lái)看看如何在組合式API中使用ref()函數(shù)創(chuàng)建一個(gè)響應(yīng)式變量。代碼如下:
<template> <div> <p>{{ message }}</p> <button @click="changeMessage">Change message</button> </div> </template> <script> import { ref } from 'vue'; export default { setup() { const message = ref('Hello, world!'); function changeMessage() { message.value = 'Hello, Vue3!'; } return { message, changeMessage, }; }, }; </script>
在這個(gè)例子中,我們使用了ref()函數(shù)創(chuàng)建了一個(gè)名為message的響應(yīng)式變量,并在組件的setup函數(shù)中進(jìn)行了定義。然后,我們?cè)谀0逯惺褂脅{ message }}來(lái)顯示這個(gè)變量的值。當(dāng)點(diǎn)擊按鈕時(shí),我們調(diào)用changeMessage函數(shù)來(lái)改變message的值。這就是ref()函數(shù)的基本用法。
接下來(lái),我們來(lái)看看如何在組合式API中使用ref()函數(shù)來(lái)創(chuàng)建一個(gè)數(shù)組。代碼如下:
<template> <div> <ul> <li v-for="item in items" :key="item.id">{{ item.name }}</li> </ul> <button @click="addItem">Add item</button> </div> </template> <script> import { ref } from 'vue'; export default { setup() { const items = ref([ { id: 1, name: 'Apple' }, { id: 2, name: 'Banana' }, { id: 3, name: 'Orange' }, ]); function addItem() { items.value.push({ id: items.value.length + 1, name: 'Vue3' }); } return { items, addItem, }; }, }; </script>
在這個(gè)例子中,我們使用了ref()函數(shù)創(chuàng)建了一個(gè)名為items的響應(yīng)式數(shù)組,并在組件的setup函數(shù)中進(jìn)行了定義。然后,我們?cè)谀0逯惺褂胿-for指令來(lái)遍歷這個(gè)數(shù)組,并顯示每個(gè)元素的名稱。當(dāng)點(diǎn)擊按鈕時(shí),我們調(diào)用addItem函數(shù)來(lái)向數(shù)組中添加一個(gè)新的元素。這就是在組合式API中使用ref()函數(shù)來(lái)創(chuàng)建數(shù)組的方法。
最后,我們來(lái)看看如何在組合式API中使用ref()函數(shù)來(lái)創(chuàng)建一個(gè)對(duì)象。代碼如下:
<template> <div> <p>{{ person.name }}</p> <p>{{ person.age }}</p> <button @click="changePerson">Change person</button> </div> </template> <script> import { ref } from 'vue'; export default { setup() { const person = ref({ name: 'Vue2', age: 2 }); function changePerson() { person.value.age = 3; person.value.name = 'Vue3'; } return { person, changePerson, }; }, }; </script>
除了上面那些,還有一些其他的用法,比如:
在setup函數(shù)中使用ref函數(shù)創(chuàng)建響應(yīng)式對(duì)象
<template> <div> <p>{{ person.name }}</p> <p>{{ person.age }}</p> <button @click="changePerson">Change person</button> </div> </template> <script> import { ref } from 'vue'; export default { setup() { const person = ref({ name: 'Vue2', age: 2 }); function changePerson() { person.value.age = 3; person.value.name = 'Vue3'; } return { person, changePerson, }; }, }; </script>
在組件的setup函數(shù)中,使用ref函數(shù)創(chuàng)建響應(yīng)式變量,并使用它來(lái)初始化一個(gè)變量,然后在模板中使用這個(gè)變量。這種用法可以讓你更加方便地使用變量,而不需要手動(dòng)打上ref標(biāo)簽。
<template> <div> <p>{{ message }}</p> <button @click="changeMessage">Change message</button> </div> </template> <script> import { ref } from 'vue'; export default { setup() { const message = ref('Hello, world!'); function changeMessage() { message.value = 'Hello, Vue3!'; } return { message, changeMessage, }; }, }; </script>
在組件的setup函數(shù)中,使用ref函數(shù)創(chuàng)建響應(yīng)式變量,并使用它來(lái)初始化一個(gè)數(shù)組,然后在模板中使用v-for指令遍歷這個(gè)數(shù)組。這種用法可以讓你的代碼更加簡(jiǎn)潔明了。
<template> <div> <ul> <li v-for="item in items" :key="item.id">{{ item.name }}</li> </ul> <button @click="addItem">Add item</button> </div> </template>
在Vue3的組合式API中,使用ref()函數(shù)創(chuàng)建響應(yīng)式變量、數(shù)組、對(duì)象等,可以在組件的setup函數(shù)中完成,然后返回給模板使用。使用ref()函數(shù)可以讓變量、數(shù)組、對(duì)象等在組件中更加方便地使用,同時(shí)也能保證它們是響應(yīng)式的。
到此這篇關(guān)于Vue3的組合式API中如何使用ref()函數(shù)的文章就介紹到這了,更多相關(guān)Vue3組合式API使用ref()函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解vue2.0組件通信各種情況總結(jié)與實(shí)例分析
本篇文章主要介紹了詳解vue2.0組件通信各種情況總結(jié)與實(shí)例分析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-03-03Vue3使用Univer Docs創(chuàng)建在線編輯Excel的示例代碼
本文介紹了如何在Vue3項(xiàng)目中集成UniverDocs,一個(gè)基于Luckysheet的企業(yè)文檔與數(shù)據(jù)協(xié)同解決方案,指導(dǎo)了從安裝到在頁(yè)面中使用的步驟,以及注意事項(xiàng),如數(shù)據(jù)格式轉(zhuǎn)換和二次開發(fā)的靈活性,需要的朋友可以參考下2025-04-04在React和Vue中使用Mock.js模擬接口的實(shí)現(xiàn)方法
本文將介紹如何在React和Vue項(xiàng)目中使用Mock.js來(lái)模擬接口攔截請(qǐng)求,幫助開發(fā)者在不依賴后端的情況下高效地進(jìn)行前端開發(fā),文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-08-08vue中filter的應(yīng)用場(chǎng)景詳解
這篇文章主要為大家介紹了vue中filter的應(yīng)用場(chǎng)景,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2021-11-11vue利用better-scroll實(shí)現(xiàn)輪播圖與頁(yè)面滾動(dòng)詳解
在我們?nèi)粘5捻?xiàng)目開發(fā)中,處理滾動(dòng)和輪播圖是再常見不過的需求了,下面這篇文章主要給大家介紹了關(guān)于vue利用better-scroll實(shí)現(xiàn)輪播圖與頁(yè)面滾動(dòng)的相關(guān)資料,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面來(lái)一起看看吧。2017-10-10Vue如何整合mavon-editor編輯器(markdown編輯和預(yù)覽)
這篇文章主要介紹了Vue整合mavon-editor編輯器(markdown編輯和預(yù)覽)的相關(guān)知識(shí),mavon-editor是目前比較主流的markdown編輯器,重點(diǎn)介紹它的使用方法,需要的朋友可以參考下2022-10-10