app.vue 页面
b页面
我想b页面触发 app.vue的 自定义事件,
但是提示 bus 未定义, 我就想知道怎么引入进去?
业精于勤,荒于嬉;行成于思,毁于随。
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); } } }
尽管不是很提倡这种做法,但你可以:
window.bus = new Vue();
你访问不到bus是因为bus是一个局部变量。。。
补充:
如果不使用global event bus,可以采用插件的方式:vue-bus
另外,如果多个组件之间都要共享这些数据,则使用Vuex
在data里面就可以了还不清楚看这里
bus 提出来,放到特定的地方。
1、创建 bus.js
2、 申明
3、 调用
尽管不是很提倡这种做法,但你可以:
你访问不到bus是因为bus是一个局部变量。。。
补充:
如果不使用global event bus,可以采用插件的方式:vue-bus
另外,如果多个组件之间都要共享这些数据,则使用Vuex
在data里面就可以了
还不清楚看这里