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 (methodOptions) {
// 逻辑... }
}
// 插件使⽤用 Vue.use(MyPlugin)
组件混⼊(mixin)
Mixin 提供一种方式给Vue可以灵活复用功能(代码,方法等)
// 定义Mixin 对象
const myMixin = {
created: function() {
this.say()
},
methods: {
say: function() {
console.log('hello world')
}
}
}
// 定义一个使用混入对象的组件
const Compoment = Vue.extend({
mixins: [myMixin]
})