vue3父子組件傳值?雙向綁定及注意問(wèn)題小結(jié)
attribute agruments
vue3父子組件傳值 雙向綁定 及注意事項(xiàng)
http://chabaoo.cn/article/269785.htm 可以參考下
首先注意
父子組件傳值是單項(xiàng)數(shù)據(jù)流,vue3中子組件是不能直接修改父組件數(shù)據(jù)的,vue2中是可以直接使用sync的語(yǔ)法,直接進(jìn)行修改的而sync修飾符的作用則是簡(jiǎn)化事件聲明及監(jiān)聽(tīng)的寫(xiě)法。
注意事項(xiàng):
// 父組件 // v-model 沒(méi)有指定參數(shù)名時(shí),子組件默認(rèn)參數(shù)名是modelValue <ChildComp v-model="search" />
(1)子組件也并不是直接拿 props 傳的變量直接用,而是需要聲明一個(gè)響應(yīng)式變量 - 通過(guò) ref(props.modelValue) 聲明基于 props 傳的變量值為初始化值的響應(yīng)式數(shù)據(jù)。
(2)且如果父組件傳的是異步數(shù)據(jù)的話(huà),還需要對(duì)其進(jìn)行監(jiān)聽(tīng)。
(3)當(dāng)子組件數(shù)據(jù)改變時(shí)需要通過(guò) emit('update:modelValue', e) 去修改父組件數(shù)據(jù)實(shí)現(xiàn)雙向綁定。
舉例子:?jiǎn)蝹€(gè)數(shù)據(jù)綁定
<template>
<div>
<input v-model="sea" @input="valChange(sea)" />
</div>
</template>
<script lang="ts">
import { defineComponent, ref, watch } from 'vue'
export default defineComponent({
name: 'ChildComp',
props: {
modelValue: { // 父組件 v-model 沒(méi)有指定參數(shù)名,則默認(rèn)是 modelValue
type: String,
default: ''
}
},
setup (props, { emit }) {
// input初始化
const sea = ref(props.modelValue)
// 如果父組件傳過(guò)來(lái)的數(shù)據(jù)是異步獲取的,則需要進(jìn)行監(jiān)聽(tīng)
watch(() => props.modelValue, () => { sea.value = props.modelValue })
// 數(shù)據(jù)雙向綁定
function valChange (e: string) {
emit('update:modelValue', e)
}
return {
sea,
valChange
}
}
})
</script>
到這就是,在子組件中可以使用你定義ref來(lái)使用修改了,可以使用emit的方法回傳數(shù)據(jù),也可以直接在頁(yè)面上直接使用v-model來(lái)進(jìn)行雙向數(shù)據(jù)綁定

到此這篇關(guān)于Vue3中如何通過(guò)v-model實(shí)現(xiàn)父子組件的雙向數(shù)據(jù)綁定及利用computed簡(jiǎn)化父子組件雙向綁定的文章就介紹到這了,更多相關(guān)Vue3父子組件的雙向數(shù)據(jù)綁定內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot和vue前后端交互的實(shí)現(xiàn)示例
本文主要介紹了springboot和vue前后端交互的實(shí)現(xiàn)示例,將包括一個(gè)簡(jiǎn)單的Vue.js前端應(yīng)用程序,用于發(fā)送GET請(qǐng)求到一個(gè)Spring Boot后端應(yīng)用程序,以獲取并顯示用戶(hù)列表,感興趣的可以了解一下2024-05-05
Vue2.0 實(shí)現(xiàn)頁(yè)面緩存和不緩存的方式
今天小編就為大家分享一篇Vue2.0 實(shí)現(xiàn)頁(yè)面緩存和不緩存的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
vue項(xiàng)目打包部署_nginx代理訪問(wèn)方法詳解
今天小編就為大家分享一篇vue項(xiàng)目打包部署_nginx代理訪問(wèn)方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
Vue如何解決每次發(fā)版都要強(qiáng)刷清除瀏覽器緩存問(wèn)題
這篇文章主要介紹了Vue如何解決每次發(fā)版都要強(qiáng)刷清除瀏覽器緩存問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
vue3中如何用threejs畫(huà)一些簡(jiǎn)單的幾何體
最近學(xué)習(xí)threejs有些時(shí)間了,就想著著手做些東西,下面這篇文章主要給大家介紹了關(guān)于vue3中如何用threejs畫(huà)一些簡(jiǎn)單的幾何體的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03
簡(jiǎn)單實(shí)現(xiàn)一個(gè)vue公式編輯器組件demo
這篇文章主要介紹了輕松實(shí)現(xiàn)一個(gè)簡(jiǎn)單的vue公式編輯器組件示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
vue完美實(shí)現(xiàn)el-table列寬自適應(yīng)
這篇文章主要介紹了vue完美實(shí)現(xiàn)el-table列寬自適應(yīng),對(duì)vue感興趣的同學(xué),可以參考下2021-05-05
vue項(xiàng)目打包后請(qǐng)求地址錯(cuò)誤/打包后跨域操作
這篇文章主要介紹了vue項(xiàng)目打包后請(qǐng)求地址錯(cuò)誤/打包后跨域操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11

