美文网首页
VUE组件通信

VUE组件通信

作者: 浮云都想对你说 | 来源:发表于2018-07-06 19:38 被阅读0次

    父子通信

    html

    <script src="https://unpkg.com/vue"></script>
    
    <div id="app">
      <p>{{ message }}</p>
      <button @click="ccc = true">打开</button>
      <child v-show='ccc' @close="ccc=false"></child>
    </div>
    
    

    js

    Vue.component('child',{
    template:`
    <div>我是儿子<button @click="$emit('close')">关闭</button></div>
    `
    })
    new Vue({
      el: '#app',
      data: {
        message: 'Hello Vue.js!',
        ccc:false
      }
    })
    

    儿子没有办法自己关闭自己,需要告诉父亲,由父亲进行关闭。

    兄弟通信

    查看CSDN博客
    博客2

    爷孙通信

    vue的爷孙通信特别麻烦,所以有了vuex。

    孙子没有冒泡
    不存在的,只能父子通信,如果你想爷孙通信,就传递事件吧,一层一层的传上来。

    <script src="https://unpkg.com/vue"></script>
    
    <div id="app">
      <p>{{ message }}</p>
      <button @click="ccc = true">打开</button>
      <child :visiable="ccc" @close="ccc=false"></child>
    </div>
    
    Vue.component('child',{
      props:['visiable'],
    template:`
    <div v-show="visiable" @click="$emit('close')">我是老二<sunzi></div>
    
    `
    })
    Vue.component('sunzi',{
      template:`
    <div>我是老三<button @click="$emit('close')">关闭</button></div>
    `
    })
    new Vue({
      el: '#app',
      data: {
        message: '我是老大',
        ccc:false
      }
    })
    

    相关文章

      网友评论

          本文标题:VUE组件通信

          本文链接:https://www.haomeiwen.com/subject/iesbuftx.html