5、插件
插件通常用来为Vue添加全局功能。插件的功能范围一般由下面几种:
- 添加全局方法或属性。
- 添加全局资源:指令/过滤器/过渡等。
- 通过全局混入来添加一些组件选项。
- 添加Vue实例方法,通过把它们添加到Vue.prototype上实现。
- 一个库,提供自己的API,同时提供上面提到的一个或多个功能。
插件声明
Vue.js的插件应该是暴露一个install方法。这个方法的第一个参数是vue构造器,第二个参数是一个可选的选项对象:
MyPlugin.install = function(Vue, options) {
// 1.添加全局方法或属性
Vue.myGlobalMethod = function() {}
// 2. 添加全局资源
Vue.directive('my-directive', {})
// 3.注入组件选项
Vue.mixin({
created: function() {
// 逻辑...
}
})
// 4.添加实例方法
Vue.prototype.$myMethod = function(methodOptions) {}
}
范例:修改heading组件为插件
const MyPlugin = {
install(Vue, options) {
Vue.component('heading', {...})
}
}
if(typeof window !== 'undefined' && window.Vue) {
window.Vue.use(MyPlugin)
}
插件使用
使用Vue.use即可引入插件
Vue.use(MyPlugin)