美文网首页
71.在单独的js文件中使用vue插件里面的方法

71.在单独的js文件中使用vue插件里面的方法

作者: yaoyao妖妖 | 来源:发表于2019-07-31 11:07 被阅读0次

    1.event-bus.js vue插件

    //vue-bus.js
    const install = function(Vue) {
      const Bus = new Vue({
        methods: {
          emit(event, ...args) {
            this.$emit(event, ...args);
          },
          on(event, callback) {
            this.$on(event, callback);
          },
          off(event, callback) {
            this.$off(event, callback);
          }
        }
      });
      Vue.prototype.$bus = Bus; //将bus挂载到全局的vue实例上
      return Bus;
    };
    export default install;
    

    2.main.js

    import Vue from 'vue'
    import App from './App'
    import Bus from './util/event-bus';
    
    let vConsole = new VConsole()
    
    Vue.use(Bus);
    Vue.config.productionTip = false;
    
    
    
    /* eslint-disable no-new */
    new Vue({
      el: '#app',
      components: {App},
      template: '<App/>'
    });
    
    

    3.在router/index.js

    import Vue from 'vue'
    import Router from 'vue-router'
    Vue.use(Router)
    //必须实例化 Vue,插件安装在vue实例上,所以必须实例化
    let vm = new Vue();
    const router = new Router({
      mode: 'history',
      routes: [ ]
    })
    
    router.beforeEach((to, from, next) => {
      vm.$bus.emit('hello');
      next()
    })
    
    export default router
    
    

    相关文章

      网友评论

          本文标题:71.在单独的js文件中使用vue插件里面的方法

          本文链接:https://www.haomeiwen.com/subject/uirzrctx.html