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

Vue父子組件傳值的三種方法

 更新時間:2022年12月20日 15:47:11   作者:Miracle?sir  
這篇文章主要介紹了Vue父子組件傳值的三種方法,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔

前言

例如:Vue的學(xué)習(xí)是路阻且艱的,這是一個系列文章,幫助vue的新手可以快速上路,創(chuàng)建的自己的項目,該系列文章主要講解作者在vue學(xué)習(xí)之路上,創(chuàng)建項目中最重要的知識,因為筆者水平有限,希望大家多多指正,該系列文章旨在讓大家感受vue的便捷,詳細(xì)學(xué)習(xí)vue希望大家多多觀看官方文檔.

一、Vue父子傳值的方法

我們在Vue項目進(jìn)行父子傳值主要有以下三種方法:
(1) props / $emit
(2) $parent / children
(3) $ref
在觀看方法詳解時大家先創(chuàng)建一個父組件parent.vue和一個子組件child.vue并完成父子組件的注冊

二、方法詳解

1.props / $emit

?組件中通過定義props接收?組件中通過v-bind綁定的數(shù)據(jù)

父傳子

首先在父組件中定義一個示例data

import child from './child.vue' 
    export default {
        name:'parent',
        components:{
            child
        },
        data(){
            return{
                parentdata:"This is the first word from parent"
            }
        }
    }

在父組件中使用子組件時用v-bind定義一個屬性并將父組件的parentdata傳入

<child :parentdata="parentdata"></child>

在子組件中使用props接收傳入的屬性,并可以直接使用

<template>
    <div>
        {{parentdata}}
    </div>
</template>

<script>
    export default {
        name:"child",
        props:{
            parentdata:{
                type:String,
                default:""
            }
        }
    }
</script>

觀看結(jié)果:

父組件傳入子組件的值就被顯示出來了

子傳父

首先在子組件中定義一個事件,并且使用emit發(fā)送給父組件,在示例中子組件使用的click事件觸發(fā)發(fā)送自定義事件(sendmsg)

<template>
    <div>
        <button @click="childmsg">點我試試</button>
    </div>
</template>

<script>
    export default {
        name:"child",
        data(){
            return{
                msg:"This is the first word from child"
            }
        },
        methods:{
            childmsg(){
                this.$emit('sendmsg',this.msg)
            }
        }
    }
</script>

emit使用方法
this.$emit(‘自定義事件名’,所需要傳的值)

在父組件中需要定義方法(getmsg)接受自定義事件(sendmsg):

<template>
    <div>
        <child :parentdata="parentdata" @sendmsg="getmsg"></child>
    </div>
</template>

<script>
    import child from './child.vue' 
    export default {
        name:'parent',
        components:{
            child
        },
        methods:{
            getmsg(val){
                console.log(val)
            }
        }
    }
</script>

在定義方法時直接在函數(shù)中設(shè)置形參接受子組件傳入的值(getmsg(val))
在控制臺就可以看見打印結(jié)果This is the first word from child

2.$parent / children

在使用這個方法時,大家可以先在父組件中打印出來$children,幫助大家理解
代碼如下

mounted(){
            console.log(this.$children)
        }

可以看到,子組件被打印出來了

只要找到組件對象對應(yīng)的屬性,就可使用

mounted(){
            alert(this.$children[0].msg)
        }

可以看到結(jié)果

注意,這種方法不僅可以調(diào)用數(shù)據(jù),也可以使用子組件的方法?。ǖ豢梢灾苯诱{(diào)用,這個接下來的文章再說)

如果是子組件使用父組件的數(shù)據(jù),可以同樣的流程

3.$ref

ref可以讓父組件更加便利地取到想要的子組件,其中原理和第二種方法相同,都是取到組件對象

在父組件中定義ref

<template>
    <div>
        <child ref="childselected"></child>
    </div>
</template>

在父組件中取值:

mounted(){
            alert(this.$refs.childselected.msg)
        }

可以看到相同的結(jié)果:

總結(jié)

***本篇主要講解了Vue項目中父子組件傳值的三種方法:
props/$emit
子組件通過v-bind接收父組件的值
父組件通過接收emit發(fā)送的事件接收子組件的值
$parent/children
直接獲取組件對象來取值
$ref
定義屬性名獲取組件對象值

到此這篇關(guān)于Vue父子組件傳值的文章就介紹到這了,更多相關(guān)Vue父子組件傳值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue-cli 引入jQuery,Bootstrap,popper的方法

    vue-cli 引入jQuery,Bootstrap,popper的方法

    這篇文章主要介紹了vue-cli 引入jQuery,Bootstrap,popper的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • element 表格嵌套表單驗證指定行的操作方法

    element 表格嵌套表單驗證指定行的操作方法

    這篇文章主要介紹了element 表格嵌套表單驗證指定行的操作方法,本文通過實例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • Vue遞歸實現(xiàn)樹形菜單方法實例

    Vue遞歸實現(xiàn)樹形菜單方法實例

    學(xué)習(xí)vue有一段時間了,最近使用vue做了一套后臺管理系統(tǒng),其中使用最多就是遞歸組件,下面這篇文章主要給大家介紹了關(guān)于Vue利用遞歸實現(xiàn)樹形菜單的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-11-11
  • vue后臺項目如何使用router.addRoutes動態(tài)加入路由的思路

    vue后臺項目如何使用router.addRoutes動態(tài)加入路由的思路

    這篇文章主要介紹了vue后臺項目如何使用router.addRoutes動態(tài)加入路由的思路,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • vue中img或元素背景圖片無法顯示或路徑錯誤的解決

    vue中img或元素背景圖片無法顯示或路徑錯誤的解決

    這篇文章主要介紹了vue中img或元素背景圖片無法顯示或路徑錯誤的解決方案,具有很好的參考價值。希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue鍵盤事件keyup、keydown的作用

    vue鍵盤事件keyup、keydown的作用

    這篇文章主要介紹了vue鍵盤事件keyup、keydown的作用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • vue實現(xiàn)自定義el-table穿梭框功能

    vue實現(xiàn)自定義el-table穿梭框功能

    這篇文章主要介紹了vue實現(xiàn)自定義el-table穿梭框功能,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • vue 擴展現(xiàn)有組件的操作

    vue 擴展現(xiàn)有組件的操作

    這篇文章主要介紹了vue 擴展現(xiàn)有組件的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Vue 應(yīng)用中結(jié)合vux使用微信 jssdk的方法

    Vue 應(yīng)用中結(jié)合vux使用微信 jssdk的方法

    今天小編就為大家分享一篇Vue 應(yīng)用中結(jié)合vux使用微信 jssdk的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • vue.js實現(xiàn)的幻燈片功能示例

    vue.js實現(xiàn)的幻燈片功能示例

    這篇文章主要介紹了vue.js實現(xiàn)的幻燈片功能,結(jié)合實例形式分析了vue.js實現(xiàn)幻燈片的相關(guān)樣式、配置、功能等操作技巧,需要的朋友可以參考下
    2019-01-01

最新評論

新干县| 黎城县| 峨眉山市| 玉林市| 乌鲁木齐县| 惠东县| 凤城市| 惠水县| 涡阳县| 西华县| 洛南县| 晋江市| 泸溪县| 商洛市| 本溪| 綦江县| 平乡县| 凌源市| 库伦旗| 怀化市| 腾冲县| 临洮县| 英德市| 金湖县| 石景山区| 汤原县| 台湾省| 沽源县| 梓潼县| 连州市| 巴林右旗| 格尔木市| 南漳县| 红桥区| 上饶市| 南木林县| 许昌市| 泸水县| 手游| 黔西县| 渭源县|