搜尋

首頁  >  問答  >  主體

javascript - vue 資料傳遞問題

app.vue 頁面

#b頁面

#我想b頁面觸發 app.vue的 自訂事件,

但提示 bus 未定義, 我就想知道怎麼引進進去?

迷茫迷茫2751 天前575

全部回覆(3)我來回復

  • 滿天的星座

    滿天的星座2017-05-19 10:47:06

    bus 提出來,放到特定的地方。

    1、創建 bus.js

    // bus.js
    import Vue from 'vue';  
    export default new Vue(); 

    2、 申明

    import Bus from 'bus';  
    
    export default {
        created() {  
            Bus.$on('getData', target => {  
                console.log(target);  
            });  
        }  
    }

    3、 呼叫

    import Bus from 'bus';  
    
    export default{
        methods: {  
           but(event) {  
               Bus.$emit('getData', event.target);   
           }  
        }  
    }

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-19 10:47:06

    儘管不是很提倡這種做法,但你可以:

    window.bus = new Vue();

    你無法存取bus是因為bus是局部變數。 。 。


    補充:

    如果不使用global event bus,可以採用插件的方式:vue-bus

    另外,如果多個組件之間都要共享這些數據,則使用Vuex

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-05-19 10:47:06

    在data裡面就可以了
    還不清楚看這裡

    回覆
    0
  • 取消回覆