Skip to content

插件编写

在平时的开发过程中,我们使用过很多第三方实现的插件,比如vue-router、vuex等,这些插件都是通过Vue.use()方法来安装的,那么我们如何编写一个插件呢?

插件编写

插件通常是一个包含install方法的对象,install方法会在Vue实例化之前调用,接收Vue构造函数作为参数,通过install方法,我们可以给Vue添加全局功能,比如全局组件、指令、过滤器等。

js
// plugins.js
export default {
  install(Vue) {
    // 添加全局方法或属性
    Vue.myGlobalMethod = function () {
      // 逻辑...
    }

    // 添加全局资源
    Vue.directive('my-directive', {
      bind(el, binding, vnode, oldVnode) {
        // 逻辑...
      }
      ...
    })

    // 注入组件选项
    Vue.mixin({
      created: function () {
        // 逻辑...
      }
      ...
    })

    // 添加实例方法
    Vue.prototype.$myMethod = function (methodOptions) {
      // 逻辑...
    }
  }
}