2018-09-23非父子之間的傳值

生命周期:

周期圖表

download.png

reated(創(chuàng)建后),

beforeMount(載入前),

mounted(載入后),

beforeUpdate(更新前),

updated(更新后),

beforeDestroy(銷毀前),

destroyed(銷毀后)

vue生命周期定義:

Vue實(shí)例有一個(gè)完整的生命周期,也就是從開始創(chuàng)建、初始化數(shù)據(jù)、編譯模板、掛載Dom、渲染→更新→渲染、卸載等一系列過程,我們稱這是Vue的生命周期。通俗說就是Vue實(shí)例從創(chuàng)建到銷毀的過程,就是生命周期。

二非父子組件傳值

(1):新建一個(gè)空的root組件:let Event=new Vue();
(2):發(fā)送數(shù)據(jù)的組件:Event.emit('a-fnName',data) 寫在組件的methods里 (3):接收數(shù)據(jù)的組件:Event.on('a-fnName',(data)=>{}),注意函數(shù)格式必須寫為箭頭函數(shù),不然this指向不是當(dāng)前組件

兩個(gè)獨(dú)立的組件不能進(jìn)行傳輸,需要借助第三方量;
在組件模板中不能同時(shí)存在兩個(gè)以上的兄弟元素;
例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="js/vue.js"></script>
    </head>
    <body>
        <div id="app">
            <my-father></my-father>
            <my-sun></my-sun>
        </div>
        <script>
            var bus = new Vue()
            Vue.component("my-father",{
                template:`
                <button @click="send">發(fā)送</button>

                `,
                data:function(){
                    return{
                         list:"hello vue"
                    }

                },
                methods:{
                    send:function(){
                        bus.$emit("head",this.list)
                    }
                }
            })

            Vue.component("my-sun",{
                template:`
                <div>
                <h1>{{mag}}</h1>
                <h1>{{leta}}</h1>
                </div>
                `,
                data:function(){
                    return{
                        mag:"",
                        leta:"組件B"
                    }
                },
                mounted:function(){
                    bus.$on("head",list=>{
                        this.mag=list
                    })
                }
            })
            new Vue({
                el:"#app",
            })
        </script>
    </body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 生命周期:每個(gè)Vue實(shí)例在被創(chuàng)建之前都要經(jīng)過一系列的初始化過程,這個(gè)過程就是vue的生命周期 ①生命周期列表: 它...
    Rascar閱讀 256評(píng)論 0 0
  • 同級(jí)傳值——非父子關(guān)系,借助第三方量 例子: 父子組件通信例子: 生命周期:Vvue-js-的生命周期_03.gi...
    有你相伴一生閱讀 353評(píng)論 0 0
  • 一:什么是閉包?閉包的用處? (1)閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。在本質(zhì)上,閉包就 是將函數(shù)內(nèi)部和函數(shù)外...
    xuguibin閱讀 10,031評(píng)論 1 52
  • Swift3.0 - 真的很簡單Swift3.0 - 數(shù)據(jù)類型Swift3.0 - ArraySwift3.0 -...
    酷走天涯閱讀 2,030評(píng)論 2 4
  • StackOverflowError原因 ?Java 里的 StackOverflowError。拋出這個(gè)錯(cuò)誤表明...
    SunnyMore閱讀 13,185評(píng)論 0 4

友情鏈接更多精彩內(nèi)容