vue兄弟組件傳值、方法


1.創建一個vue實例

bus.js

import Vue from 'vue'
export default new Vue()
 
1. b.vue傳值給a.vue
  a.vue
import Bus from '@/libs/bus.js'
//調用
Bus.$emit('selectionSampleList', this.selection)
 
 
  b.vue
 import Bus from '@/libs/bus.js'
 mounted() {
            this.init()
            Bus.$on('selectionSampleList', (e) => {
                this.$refs['sampleDetail'].init(e)
            })
        },
//銷毀
  beforeDestroy(){
    Bus.$off('selectionSampleList')
  },
        activated () {
            Bus.$on('selectionSampleList', (e) => {
                this.$refs['sampleDetail'].init(e)
            })
        },
2.b.vue傳方法給a.vue
   b.vue
  import Bus from '@/libs/bus.js'
  mounted(){
    Bus.$on('saveFun',this.saveFun)
  },
  //銷毀
  beforeDestroy(){
    Bus.$off('saveFun')
  },
  methods:{
    saveFun(){
      console.log('123)
    }
  }
    a.vue
  import Bus from '@/libs/bus.js'
  methods:{
    btnFun(){
      //調用方法
      Bus.$emit('saveFun')//不傳參
      Bus.$emit('saveFun',‘參數’)//傳參
    }
  }
  
注意:這里最好再加上個銷毀事件,否則當頁面銷毀后,事件接收還是會存在的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM