// Vue 插件示例代码
// 定义一个简单的 Vue 插件
MyPlugin = {
install (Vue, options) {
// 添加全局方法或属性
Vue.myGlobalMethod = function () {
console.log('This is a global method');
}
// 添加全局资源
Vue.directive('focus', {
inserted: function (el) {
el.focus();
}
});
// 注入组件选项
Vue.mixin({
created: function () {
console.log('This is injected into every created component');
}
});
// 添加实例方法
Vue.prototype.$myMethod = function (methodOptions) {
console.log('This is an instance method');
}
}
}
// 使用插件
new Vue({
el: '#app',
created() {
this.$myMethod(); // 调用实例方法
Vue.myGlobalMethod(); // 调用全局方法
}
});
定义插件:通过定义一个对象 MyPlugin
,并在其上定义 install
方法来创建一个 Vue 插件。install
方法接收两个参数:Vue
和 options
。
添加全局方法:通过 Vue.myGlobalMethod
添加了一个全局方法,可以在任何地方调用。
添加全局资源:通过 Vue.directive
添加了一个自定义指令 v-focus
,它会在元素插入 DOM 后自动聚焦。
注入组件选项:使用 Vue.mixin
将一些逻辑注入到所有 Vue 组件的生命周期钩子中,这里是在每个组件创建时输出一条日志。
添加实例方法:通过 Vue.prototype
添加了一个实例方法 $myMethod
,可以在任何 Vue 实例中调用。
使用插件:在创建 Vue 实例时,通过 Vue.use(MyPlugin)
来使用插件,并在 created
钩子中调用了插件提供的方法。
上一篇:vue3 refs
下一篇:vue 动态style
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站