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

Vue組件中的父子組件使用

 更新時(shí)間:2023年01月22日 09:57:55   作者:小貓虎兒~  
這篇文章主要介紹了Vue組件中的父子組件使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Vue組件中的父子組件

父組件向子組件傳值

  • 父組件通過(guò)屬性綁定(v-bind:)的形式, 把需要傳遞給子組件的數(shù)據(jù),以屬性綁定的形式,傳遞到子組件內(nèi)部,供子組件使用
  • 子組件需要在內(nèi)部定義 props 屬性。例如 props : [ ‘parentmsg’ ] 把父組件傳遞過(guò)來(lái)的 parentmsg 屬性,先在 props 數(shù)組中,定義一下,這樣,才能使用這個(gè)數(shù)據(jù)
  • 所有 props 中的數(shù)據(jù)都是通過(guò)父組件傳遞過(guò)來(lái)的

示例1: 

<div id="app" style="width: 800px;height: 100px;background: red;">
    <!-- 父組件,可以在引用子組件的時(shí)候, 通過(guò)屬性綁定(v-bind:)的形式,
    把需要傳遞給子組件的數(shù)據(jù),以屬性綁定的形式,傳遞到子組件內(nèi)部,供子組件使用-->
    <com1 v-bind:parentmsg="msg" style="width: 500px;height: 50px;background: green;"></com1>
</div>
<script>
    new Vue({
        el:'#app',
        data:{
        msg: '父組件中的數(shù)據(jù)'
    },
    components:{
        com1:{
            /*
                注意: 子組件中的 data 數(shù)據(jù),并不是通過(guò) 父組件傳遞過(guò)來(lái)的,
                而是子組件自身私有的,比如: 子組件通過(guò) Ajax,請(qǐng)求回來(lái)的數(shù)據(jù),都可以
                放到 data 身上;
                data 上的數(shù)據(jù),都是可讀可寫的;
            */
            data(){
                return {
                title: '123',
                content: 'qqq'
            }
        },
            template: '<h1 @click="change">這是子組件:{{ parentmsg }}</h1>',
            /*
                注意: 組件中的 所有 props 中的數(shù)據(jù),都是通過(guò) 父組件傳遞給子組件的
                把父組件傳遞過(guò)來(lái)的 parentmsg 屬性,先在 props 數(shù)組中定義一下,這樣
                才能使用這個(gè)數(shù)據(jù)
            */
            props: ['parentmsg'],
            methods:{
                change: function(){
                    this.parentmsg = '被修改了'
                }
            }
        }
    }
});
</script>

示例2:

<div id="app">
    <input type="text" v-model="item">
    <div style="width: 200px;height: 150px;background: red;">
        <test :tt="item"></test>
    </div>
</div>
<template id="temp">
    <div>
        <p v-text="tt"></p>
    </div>
</template>
<script>
    Vue.component("test",{
        props:['tt'],
        template:'#temp'
    })
    new Vue({
        el:'#app',
        data:{
            item:'ABCD'
        }
    });
</script>

子組件向父組件傳值

子組件向父組件傳值是通過(guò)方法的方式

示例:

<div id="app" style="width: 500px;height: 300px;background: red;">
    <!-- 父組件向子組件傳遞方法使用的是事件綁定機(jī)制;v-on,當(dāng)我們自定義了 一個(gè)
    事件屬性之后那么,子組件就能夠,通過(guò)某些方式,來(lái)調(diào)用傳遞進(jìn)去的這個(gè)方法了 -->
    <com2 @func="show"></com2>
    <p>{{ datamsgFormSon }}</p>
</div>
<template id="tmpl">
    <div style="width: 300px;height: 200px;background: green;">
        <h1>這是子組件</h1>
        <input type="button" value="是子組件中的按鈕" @click="myclick">
    </div>
</template>
<script>
    // 定義了一個(gè)字面量類型的組件模板對(duì)象
    var com2 = {
        template: '#tmpl', // 通過(guò)指定了一個(gè) Id, 表示說(shuō),要去加載這個(gè)指定 Id 的template 元素中的內(nèi)容,當(dāng)作組件的 HTML 結(jié)構(gòu)
        data() {
            return {
                sonmsg: {
                    name: '大頭兒子',
                    age: 6
                }
            }
        },
        methods: {
            myclick() {
                // 當(dāng)點(diǎn)擊子組件的按鈕的時(shí)候,通過(guò)$emit 拿到父組件傳遞過(guò)來(lái)的 func 方法
                // emit 英文原意: 是觸發(fā),調(diào)用、發(fā)射的意思
                this.$emit('func', this.sonmsg)
            }
        }
    }
// 創(chuàng)建 Vue 實(shí)例,得到 ViewModel
    var vm = new Vue({
        el: '#app',
        data: {
            datamsgFormSon: null
        },
        methods: {
            show(data) {
                console.log('調(diào)用了父組件身上的 show 方法: --- ' + data)
                console.log(data.name);
                this.datamsgFormSon = data
            }
        },
        components: {
            com2
            //com2: com2
         }
    });
</script>

Vue父子組件的生命周期

父子組件的生命周期是一個(gè)嵌套的過(guò)程

渲染的過(guò)程

父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount->子mounted->父mounted

子組件更新過(guò)程

父beforeUpdate->子beforeUpdate->子updated->父updated

父組件更新過(guò)程

父beforeUpdate->父updated

銷毀過(guò)程

父beforeDestroy->子beforeDestroy->子destroyed->父destroyed

總結(jié)

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

相關(guān)文章

  • Vue實(shí)例初始化為渲染函數(shù)設(shè)置檢查源碼剖析

    Vue實(shí)例初始化為渲染函數(shù)設(shè)置檢查源碼剖析

    這篇文章主要為大家介紹了Vue實(shí)例初始化為渲染函數(shù)設(shè)置檢查源碼剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Element?el-date-picker?日期選擇器的使用

    Element?el-date-picker?日期選擇器的使用

    本文主要介紹了Element?el-date-picker?日期選擇器的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • vue 實(shí)現(xiàn)剪裁圖片并上傳服務(wù)器功能

    vue 實(shí)現(xiàn)剪裁圖片并上傳服務(wù)器功能

    這篇文章主要介紹了vue 實(shí)現(xiàn)剪裁圖片并上傳服務(wù)器功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-03-03
  • vue+element遇到的坑及解決

    vue+element遇到的坑及解決

    這篇文章主要介紹了vue+element遇到的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • vue+animation實(shí)現(xiàn)翻頁(yè)動(dòng)畫

    vue+animation實(shí)現(xiàn)翻頁(yè)動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了vue+animation實(shí)現(xiàn)翻頁(yè)動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Vue使用Multiavatarjs生成自定義隨機(jī)頭像的案例

    Vue使用Multiavatarjs生成自定義隨機(jī)頭像的案例

    這篇文章給大家介紹了Vue項(xiàng)目中使用Multiavatarjs生成自定義隨機(jī)頭像的案例,文中通過(guò)代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-10-10
  • NUXT SSR初級(jí)入門筆記(小結(jié))

    NUXT SSR初級(jí)入門筆記(小結(jié))

    這篇文章主要介紹了NUXT SSR初級(jí)入門筆記(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Vue中使用?Aplayer?和?Metingjs?添加音樂(lè)插件的方式

    Vue中使用?Aplayer?和?Metingjs?添加音樂(lè)插件的方式

    這篇文章主要介紹了Vue中使用?Aplayer?和?Metingjs?添加音樂(lè)插件,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • Vue 電商后臺(tái)管理項(xiàng)目階段性總結(jié)(推薦)

    Vue 電商后臺(tái)管理項(xiàng)目階段性總結(jié)(推薦)

    這篇文章主要介紹了Vue 電商后臺(tái)管理項(xiàng)目階段性總結(jié),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • vue 3 中watch 和watchEffect 的新用法

    vue 3 中watch 和watchEffect 的新用法

    本篇文章主要通過(guò) Options API 和 Composition API 對(duì)比 watch 的使用方法,讓大家快速掌握 vue3 中 watch 新用法,需要的朋友可以參考一下哦,希望對(duì)大家有所幫助
    2021-11-11

最新評(píng)論