VueJs2.0 专题
您的位置:JS框架 > VueJs2.0专题 > Vue.js 2.0 插件
Vue.js 2.0 插件
作者:--    发布时间:2019-11-20

插件通常会为vue添加全局功能。插件的范围没有限制——一般有下面几种:

  1. 添加全局方法或者属性,如:vue-element
  2. 添加全局资源:指令/过滤器/过渡等,如:vue-touch
  3. 通过全局 mixin方法添加一些组件选项,如:vuex
  4. 添加 vue 实例方法,通过把它们添加到 vue.prototype 上实现。
  5. 一个库,提供自己的 api,同时提供上面提到的一个或多个功能,如:vue-router

vue.js 的插件应当有一个公开方法 install 。这个方法的第一个参数是 vue 构造器 , 第二个参数是一个可选的选项对象:

myplugin.install = function (vue, options) {
  // 1. 添加全局方法或属性
  vue.myglobalmethod = function () {
    // 逻辑...
  }
  // 2. 添加全局资源
  vue.directive('my-directive', {
    bind (el, binding, vnode, oldvnode) {
      // 逻辑...
    }
    ...
  })
  // 3. 注入组件
  vue.mixin({
    created: function () {
      // 逻辑...
    }
    ...
  })
  // 4. 添加实例方法
  vue.prototype.$mymethod = function (options) {
    // 逻辑...
  }
}

使用插件

通过全局方法 vue.use() 使用插件:

// 调用 `myplugin.install(vue)`
vue.use(myplugin)

也可以传入一个选项对象:

vue.use(myplugin, { someoption: true })

vue.use 会自动阻止注册相同插件多次,届时只会注册一次该插件。

一些插件,如 vue-router 如果 vue 是全局变量则自动调用 vue.use() 。不过在模块环境中应当始终显式调用 vue.use() :

// 通过 browserify 或 webpack 使用 commonjs 兼容模块
var vue = require('vue')
var vuerouter = require('vue-router')
// 不要忘了调用此方法
vue.use(vuerouter)

awesome-vue 集合了来自社区贡献的数以千计的插件和库。

网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册