vue 数据传递问题

发布于 2017-05-02 14:25:22 字数 651 浏览 1255 评论 3

下面是的 app.vue 页面

下面是 b页面

我想b页面触发 app.vue 的自定义事件,但是提示 bus 未定义, 我就想知道怎么引入进去?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

甜柠檬 2017-05-03 21:10:22

在data里面就可以了
还不清楚看这里

甜柠檬 2017-05-03 15:38:13

尽管不是很提倡这种做法,但你可以:

window.bus = new Vue();

你访问不到bus是因为bus是一个局部变量。。。


补充:

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

另外,如果多个组件之间都要共享这些数据,则使用Vuex

泛泛之交 2017-05-03 00:39:57

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);   
       }  
    }  
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文