vue的Bus使用

父子页面的传参

1、定义Bus

import Vue from 'vue'
const Bus = new Vue()
export default Bus

2、挂载Bus

将bus挂载到vue.prototype上

在main.js中
import Bus from './lib/bus'

Vue.prototype.$bus = Bus

3、子组件调用

在子组件中通过this.$bus.$on(), this.$bus.$emit()来调用,组件一给组件二赋值

  • 组件一 email.vue

    <template>
      <div class="email"><button @click="handleClick">按我</button></div>
    </template>
    <script>
    export default {
    methods: {
      handleClick () {
          this.$bus.$emit('on-click','hello')
        }
      }
    }
    </script>
    <style>
      .email{
        border: 1px solid green;
       }
    </style>
    
  • 组件二 tel.vue

    <template>
      <div class="tel">{{ message }}</div>
    </template>
    <script>
    export default {
    data () {
      return {
          message: ''
      }
    },
    mounted () {
        this.$bus.$on('on-click',mes => {
          this.message = mes
        })
      }
    }
    </script>
    <style >
    .tel{
      border: 1px solid red;
    }
    </style>
    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在陪宝宝看动画片《萌鸡小队》,上面有只小松树整天忙着藏他最爱的橡实。好奇心驱使我百度了一下橡实是何方宝贝...
    麦地里的兔子阅读 1,087评论 0 0
  • 墨一世砚 等你来救 看一世情 等你来救 想一世景 等你来救 说一世话 等你来救
    我又太喜欢一个人了阅读 235评论 0 1
  • 先做一个假设:假设不往下看内容,你会怎么回答题目中的问题。 以前的我大概会有这样的心理活动:娱乐有什么好思考的。既...
    蜉蝣一瞬阅读 629评论 0 1
  • 今天开家长会,让孩子他爸带上纸和笔去了学校,临走前我一再交代:让他把开会的重点内容给记录下来,等我回来也观看...
    王若涵妈妈阅读 192评论 2 0