让前端飞Web前端之路vue

vue数据传递 <非父子>

2019-05-28  本文已影响4人  zz77zz

2019年5月28日23:25

4-1 组件注意的细节

4-2 父子组件传递

图片来源慕课网 侵权删
Vue.prototype.bus = new Vue()

    Vue.component('child',{
        props:{
            content:String
        },
        data(){
            return {
                selfContent:this.content
            }
        },
        template:'<div @click="handleClick">{{selfContent}}</div>',
        methods:{
            handleClick(){
                // alert(this.content)
                this.bus.$emit('explode_func',this.selfContent)
            }
        },
        mounted:function(){
            var _that = this
            this.bus.$on('explode_func',function(msg){
                alert(msg) //这里会跳出两次 以为组件有两个 都监听了方法
                _that.selfContent = msg
            })
        }
    })

    var app = new Vue({
        el:"#app"
    })

发布订阅/观察者模式 这两个模式 其实小程序写多了自然就特别容易理解

上一篇下一篇

猜你喜欢

热点阅读