最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3的父?jìng)髯訂?wèn)題(單項(xiàng)數(shù)據(jù)流)

 更新時(shí)間:2023年01月16日 11:39:51   作者:yezi153  
這篇文章主要介紹了vue3的父?jìng)髯訂?wèn)題(單項(xiàng)數(shù)據(jù)流),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue3父?jìng)髯?單項(xiàng)數(shù)據(jù)流)

父組件通過(guò)屬性綁定傳遞數(shù)據(jù) 

子組件內(nèi)部通過(guò)props接收數(shù)據(jù) 

基本數(shù)據(jù)類(lèi)型---改變父組件的數(shù)據(jù)--只改變了 父組件的的數(shù)據(jù)在子組件的顯示

 

通過(guò)動(dòng)態(tài)屬性綁定 傳遞list給子組件

 

在子組件內(nèi)部修改父組件的復(fù)雜數(shù)據(jù)類(lèi)型的數(shù)據(jù)---可以修改 

 

vue3 父子傳參 簡(jiǎn)單易懂

父?jìng)髯?/h3>

1、 在父組件的子組件標(biāo)簽上通過(guò) :傳遞到子組件的數(shù)據(jù)名="需要傳遞的數(shù)據(jù)"

在這里為了大家區(qū)分我將父組件中的數(shù)據(jù)定義為 : fatherData  ,

子組件需要接收的數(shù)據(jù)定義為: sonData 。

// 父組件
<template>
? <div class="about">
? ? {{fatherData}}
? ? <!-- 父?jìng)髯?-->
? ? <!-- 1、 在父組件的子組件標(biāo)簽上通過(guò) :傳遞到子組件的數(shù)據(jù)名="需要傳遞的數(shù)據(jù)" -->
? ? <children :sonData="fatherData"></children>
? </div>
</template>
?
<script>
import children from "@/components/children"
import { defineComponent,reactive,toRefs } from "vue";
export default defineComponent({
? components:{
? ? children,
? },
name:"about",
setup(){
? const state = reactive({
? ? fatherData:"hello"
? })
? return {
? ? ...toRefs(state)
? }
}
?
})
</script>

2、子組件依舊通過(guò) props 來(lái)接收并且在模版中使用

那么大多數(shù)情況下都會(huì)去通過(guò)父組件傳遞到子組件中的數(shù)據(jù),根據(jù)這個(gè)數(shù)據(jù)去做一些特定的功能或者請(qǐng)求數(shù)據(jù)等等。

在 setup 鉤子中第一個(gè)參數(shù) props 就可以訪問(wèn)到父組件傳遞的數(shù)據(jù),那么在函數(shù)中也是通過(guò):  props.父組件傳遞數(shù)據(jù)的名稱   來(lái)操作該數(shù)據(jù)。

setup函數(shù)接收props作為其第一個(gè)參數(shù),props對(duì)象是響應(yīng)式的(單向的父—>子),watchEffect或watch會(huì)觀察和響應(yīng)props的更新。不要對(duì)props對(duì)象進(jìn)行解構(gòu),那樣會(huì)失去響應(yīng)性。在開(kāi)發(fā)過(guò)程中,props對(duì)象對(duì)用戶空間代碼時(shí)不可變的,用戶嘗試修改props時(shí)會(huì)觸發(fā)警告。

// 子組件
<template>
? <div class="children">
? ? <!-- 3、在子組件模版中使用 -->
? ? {{sonData}}
? </div>
</template>
<script>
export default {
name:"Children",
// 2、子組件通過(guò) props 來(lái)接收
? props:["sonData"],
? setup(props){
? ? function childrenbut(){
? ? ? // props.sonData ?可以訪問(wèn)到父組件傳遞的數(shù)據(jù)
? ? ? console.log(props.sonData);
? ? }
? ? return {
? ? ? childrenbut
? ? }
? }
}
</script>

子傳父

1、子組件觸發(fā)事件通過(guò) setup 的第二個(gè)參數(shù) context.emit 來(lái)實(shí)現(xiàn)子傳父 

context 上下文對(duì)象。

// 子組件
<template>
? <div class="children">
? ? {{sonData}}
? ? <!-- 1、觸發(fā)事件 -->
? ? <button @click="childrenbut">子組件按鈕</button>
? </div>
</template>
<script>
export default {
name:"Children",
? setup(props,context){
? ? function childrenbut(){
? ? ? console.log(context);
? ? ? // 2、通過(guò)context.emit 實(shí)現(xiàn)子傳父
? ? ? // 第一個(gè)參數(shù)為 方法名,第二個(gè)參數(shù)為 需要傳遞的數(shù)據(jù)
? ? ? context.emit("change",'world')
? ? }
? ? return {
? ? ? childrenbut,
? ? }
? }
}
</script>

context 也可以使用結(jié)構(gòu)的形式這樣寫(xiě)

// 子組件
<script>
export default {
name:"Children",
? // 通過(guò)結(jié)構(gòu) 之后直接寫(xiě) emit {emit}
? setup(props,{emit}){
? ? function childrenbut(){
? ? ? // 省去 context.emit
? ? ? emit("change",'world')
? ? }
? ? return {
? ? ? childrenbut,
? ? }
? }
}
</script>

最后總結(jié)一下:

在 vue3 中無(wú)論是父?jìng)髯舆€是子傳父其實(shí)與 vue2 中都相差無(wú)幾,

思想大多一樣,不一樣的是 vue3 需要通過(guò)調(diào)用各種各樣的鉤子來(lái)實(shí)現(xiàn)傳參。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue的三種圖片引入方式代碼實(shí)例

    vue的三種圖片引入方式代碼實(shí)例

    這篇文章主要介紹了vue的三種圖片引入方式代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • vue-cli 為項(xiàng)目設(shè)置別名的方法

    vue-cli 為項(xiàng)目設(shè)置別名的方法

    這篇文章主要介紹了vue-cli 為項(xiàng)目設(shè)置別名的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Vue數(shù)據(jù)監(jiān)聽(tīng)器watch和watchEffect的使用

    Vue數(shù)據(jù)監(jiān)聽(tīng)器watch和watchEffect的使用

    今天我們來(lái)學(xué)習(xí)一下watch監(jiān)聽(tīng)器和它的好兄弟watchEffect監(jiān)聽(tīng)器。這個(gè)相對(duì)來(lái)說(shuō)比較簡(jiǎn)單,用的不是很多,當(dāng)然了,根據(jù)自己的項(xiàng)目情況自行決定使用,希望對(duì)大家有所幫助
    2023-02-02
  • vue 動(dòng)態(tài)組件component

    vue 動(dòng)態(tài)組件component

    這篇文章主要介紹了 vue 動(dòng)態(tài)組件component ,vue提供了一個(gè)內(nèi)置的<component>,專(zhuān)門(mén)用來(lái)實(shí)現(xiàn)動(dòng)態(tài)組件的渲染,這個(gè)標(biāo)簽就相當(dāng)于一個(gè)占位符,需要使用is屬性指定綁定的組件,想了解更多詳細(xì)內(nèi)容的小伙伴請(qǐng)參考下面文章的具體內(nèi)容
    2021-11-11
  • vue實(shí)現(xiàn)ToDoList簡(jiǎn)單實(shí)例

    vue實(shí)現(xiàn)ToDoList簡(jiǎn)單實(shí)例

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)ToDoList簡(jiǎn)單實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Vue父子組件通訊方式及實(shí)現(xiàn)方法

    Vue父子組件通訊方式及實(shí)現(xiàn)方法

    這篇文章主要介紹了Vue父子組件通訊方式及實(shí)現(xiàn)方法,文中通過(guò)代碼示例介紹的非常詳細(xì),對(duì)我們的學(xué)習(xí)或工作有一定的幫助,感興趣的同學(xué)可以參考閱讀下
    2023-06-06
  • Vue.js實(shí)現(xiàn)輸入框綁定的實(shí)例代碼

    Vue.js實(shí)現(xiàn)輸入框綁定的實(shí)例代碼

    這篇文章主要介紹了Vue.js實(shí)現(xiàn)輸入框綁定的實(shí)例代碼,需要的朋友可以參考下
    2017-08-08
  • vue實(shí)現(xiàn)選項(xiàng)卡功能

    vue實(shí)現(xiàn)選項(xiàng)卡功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)選項(xiàng)卡功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue中用 async/await 來(lái)處理異步操作

    vue中用 async/await 來(lái)處理異步操作

    這篇文章主要介紹了vue中用 async/await 來(lái)處理異步操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Vue?日期獲取的示例代碼

    Vue?日期獲取的示例代碼

    moment.js是一款現(xiàn)在對(duì)時(shí)間處理的強(qiáng)大的函數(shù),這篇文章主要介紹了Vue?日期獲取的示例代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01

最新評(píng)論

锦州市| 根河市| 桃园县| 西宁市| 嵊泗县| 若羌县| 奈曼旗| 株洲县| 宁蒗| 车险| 永福县| 黄梅县| 麟游县| 郸城县| 昌图县| 巴青县| 临澧县| 津南区| 丰台区| 化隆| 柘城县| 延边| 衡阳市| 郓城县| 台前县| 新和县| 曲靖市| 富平县| 三河市| 望都县| 敖汉旗| 深水埗区| 吉木乃县| 安新县| 台东市| 宜宾县| 唐山市| 师宗县| 淄博市| 卓资县| 霍林郭勒市|