//入口文件main.js
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
//注册三级联动为全局组件
import TypeNav from '@/components/TypeNav'
//执行mock
import '@/mock/mockServe'
//引入Swiper插件需要的CSS
import 'swiper/css/swiper.css'
//名称 及 组件
Vue.component(TypeNav.name, TypeNav);
Vue.config.productionTip = false
new Vue({
router,
store,
render: h => h(App),
//配置全局事件总线$bus
beforeCreate() {
Vue.prototype.$bus = this;
},
}).$mount('#app')
//适用于兄弟之间传参或者执行某一段业务
//search组件需要告知header组件 清空keyword
RemoveKeyWord() {
this.ParamsInit();
this.SearchParams.keyword = undefined;
//同时通过$bus 清理兄弟组件中的关键字 当然也可以进行传参例如我传入一个字符串test
this.$bus.$emit('clearKeyWord','test')
if (this.$route.query) {
this.$router.push({ name: "search", query: this.$route.query });
}
},
//header.vue 组件需要通过监听 search组件的操作来进行输入框的清空
mounted(){
//通过$bus监听到兄弟组件触发的清除事件 则进行keyword的清空
this.$bus.$on('clearKeyWord',(str)=>{
//那么这边就会接受到test字符串
console.log(str,'test')
this.keyword = '';
})
},版权声明:本文为m0_57547956原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。