vue组件之间传值

  • 父子组件之间传值:props、$emit
  • 祖孙组件之间传值:provide和inject
  • 兄弟(无关联)组件之间传值:\(emit和\)on(Event bus)、vuex、sessionStorage、localStorage
    • vue的\(emit和\)on,这是vue实现的Vue Event Bus插件的 on 和 emit方法。EventBus是消息传递的一种方式,基于一个消息中心,订阅和发布消息的模式,称为发布订阅者模式。使用this.\(on定义一个事件,this.\)emit触发这个事件。如下:

      <div id='app'>
      	<button @click='boost' > 触发事件</button>
      </div>
      
      data() {
      	return {
      		message: 'hello vue'
      	}
      },
      created() {
      	this.$on('my_events', this.handleEvents)
      },
      methods: {
      	handleEvents(e) {
      		console.log(this.message, e)
      	},
      	boost() {
      		this.$emit('my_events', 'my params')
      	}
      }
      
posted @ 2021-06-14 19:15  Upward123  阅读(37)  评论(0编辑  收藏  举报