首页 > 其他分享 >Vue plugin插件的使用

Vue plugin插件的使用

时间:2022-11-22 23:38:52浏览次数:33  
标签:插件 Vue install plugin app mixin options

前言

本文主要介绍了vue中 plugin插件的用法及其功能,

plugin

plugin用来为 Vue 添加全局功能,可以把通用性强的功能进行封装。

定义plugin需要使用 install 方法。这个方法有两个参数app, options

app是 Vue 构造器,options是一个可选的选项对象。

        const myPlugin = {
            install(app, options){
               console.log(app, options); 
            }
        }

plugin的用法

通过全局方法 Vue.use() 使用plugin;

	app.use(myPlugin,{name: '张三'})

打开控制台看看app, options分别会输出什么内容。

image.png

从图中可以看出,app包含有directive自定义指令、mixin混入以及config配置等内容,options里面是使用插件传入的{name: '张三'}。

添加directive

在plugin插件中添加directive:

 		const myPlugin = {
            install(app, options){
                app.directive("focus",{
                    mounted(el){
                        el.focus();
                    }
                })
            }
        }

输入框获得焦点 在这里插入图片描述

添加mixin

在plugin插件中添加mixin:

 		const myPlugin = {
            install(app, options){
                app.mixin({
                    mounted(){
                        console.log('mixin');
                    }
                })
            }
        }

控制台成功输出:mixin。

在这里插入图片描述

添加config

在plugin插件中添加config:

 		install(app, options){
                app.config.globalProperties.$hello = 'hello';
            }
        }

然后在组件中调用hello,控制台成功打印出hello。 在这里插入图片描述

示例代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue3 -- Plugin插件</title>
    <!-- 使用CDN引入Vue -->
    <script src="https://unpkg.com/vue@next"></script>
</head>
<body>
    <div id="root"></div>
    <script>
        const myPlugin = {
            install(app, options){
                // console.log(app, options);
                app.directive("focus",{
                    mounted(el){
                        el.focus();
                    }
                })
                // app.mixin({
                //     mounted(){
                //         console.log('mixin');
                //     }
                // })
                // app.config.globalProperties.$hello = 'hello';
            }
        }
        const app = Vue.createApp({
            mounted(){
                console.log(this.$hello);
            },
            template:`
            <div>
                hello Vue.js!
                <demo />
            </div>`
        });
        app.use(myPlugin,{name: '张三'})
        app.component('demo', {
            template:`<input v-focus/>`
        })
        const vm = app.mount('#root');
    </script>
</body>
</html>

总结

plugin插件:为 Vue 添加全局功能,包括但不限于directive、mixin、config等功能;

plugin插件的定义:使用 install 方法定义, install 方法有app, options两个参数;

plugin插件的使用:通过全局方法 Vue.use() 使用插件;

结语

本文到此结束

如果大家还有什么其他想法,欢迎在评论区交流!

标签:插件,Vue,install,plugin,app,mixin,options
From: https://blog.51cto.com/u_15718546/5878726

相关文章

  • VUE3 全局共享数据方案之一 (简单快速实现类似vuex)
    自定义封装单列模式!globalstate由于vue3的响应式系统本身可以脱离组件而存在,因此可以充分利用这一点,轻松制造多个全局响应式数据,并且通过和vuex一样通过某个模块指定......
  • Chrome浏览器插件开发(一)
    官网:https://developer.chrome.com/docs/extensions/mv3/参考官网例子,巨详细新建文件manifest.json{"manifest_version":3,"name":"HelloExtensions",......
  • 基于springboot和vue的IT内部电脑报修服务系统设计与实现-计算机毕业设计源码+LW文档
    it内部设备服务系统设计与实现摘要it内部设备服务系统将传统的网络服务方式与最新的互联网技术相结合,使用方便快捷,有利于设备维修部门规范管理,提高网络维修部门的工作效......
  • 关于echars在vue3中的使用
    根文件的配置<!--App.vue--><template><router-view></router-view></template><script>import*asechartsfrom'echarts'import{provide}from......
  • Vue2基本组件间通信
    Vue2组件通信的基础方式自己的理解:组件化通信,无非就是数据你传我,我传你,两个组件的相互交流,方法很多,下方有图示(此篇建议小白阅读,大神的话也不会看,哈哈哈哈!仅供参考,有不同......
  • Vue入门
    1安装node.js下载地址:https://nodejs.org/en/download/2配置环境变量  1 在用户变量中点击“新建”,变量名输入NODE_PATH,变量值输入nodejs安装地址:D:\softpath\no......
  • vue2+ts 设计一个扑克牌比大小的游戏
    首先         ......
  • vue-router的两种模式实现原理
    1.hash模式的简单实现2.history模式的简单实现......
  • vue2 axios11 await async 解构赋值 原生axios发起网络请求
    axios:专注发起网络请求的库get传参要params,post传参用data,具体传参看后端怎么写,后端乱写就套麻袋打一顿   post请求简化版:不用await和async时是一个prom......
  • vue:路由实现原理
    随着前端应用的业务功能起来越复杂,用户对于使用体验的要求越来越高,单面(SPA)成为前端应用的主流形式。大型单页应用最显著特点之一就是采用的前端路由系统,通过改变URL,在不重......