首页  >  问答  >  正文

javascript - vue 数据传递问题

app.vue 页面

b页面

我想b页面触发 app.vue的 自定义事件,

但是提示 bus 未定义, 我就想知道怎么引入进去?

迷茫迷茫2711 天前549

全部回复(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
  • 取消回复