20《Vue 入门教程》Vue 插件
本节我们将介绍 Vue 的插件。包括什么是插件、如何使用插件、如何编写一个简单的插件。其中,编写和使用插件是本节的重点。本节我们将带领大家写一个简单的插件示例,同学们在学完本节后可以尝试编写其他的插件来加深学习。
Vue 插件是对 Vue 全局功能的扩展,他可以给 Vue 添加全局方法、属性、组件、过滤器、指令等等。
通过全局方法 Vue.use () 使用插件。它需要在你调用 new Vue () 启动应用之前完成:
也可以传入一个可选的选项对象:
Vue.use 会自动阻止多次注册相同插件,即使多次调用也只会注册一次该插件。 Vue.js 官方提供的一些插件 (例如 vue-router) 在检测到 Vue 是可访问的全局变量时会自动调用 Vue.use ()。然而在像 CommonJS 这样的模块环境中,你应该始终显式地调用 Vue.use ():
awesome-vue 集合了大量由社区贡献的插件和库。
Vue.js 的插件应该暴露一个 install 方法。这个方法的***个参数是 Vue 构造器,第二个参数是一个可选的选项对象:
接下来,我们写一个具体的插件示例:
实例演示
"运行案例" 可查看在线运行效果
代码解释: JS 代码第 3-20 行,我们定义了插件 MyPlugin,该插件中包含一个全局组件 MyButton。 JS 代码第 22 行,通过 Vue.use 使用 MyPlugin。 HTML 代码第 2、4、6、8、10 行,使用 MyPlugin 插件中的 MyButton 组件。
本节,我们带大家学习了 Vue 插件的使用方式。主要知识点有以下几点:
vue2开发过程中用到的插件
在工作中遇到了一些需求使用的第三方插件实现,记录一下
一、vuedraggable 拖拽效果插件
vue.draggable中文文档
二、vue-clipboard2 剪切板效果插件(复制指定内容)
vue-clipboard2文档
三、json-bigint js中长整型精度问题
处理长整数精度问题
【vue】插件
插件通常用来为 Vue 添加 全局功能 ,所谓全局即不需要像组件那样,每次使用他前都需要先引入一次。对于插件只要在 最开始引入一次,在任何组件就可以直接使用 。(类似于我们在window上添加的方法属性那样,任何地方都可以用)
下面几种常见的用途:
主要两种使用方式
一:全局引入方式
(1)使用步骤
通过全局方法 Vue.use() 使用插件。它需要在你调用 new Vue() 启动应用之前完成
也可以传入一个可选的选项对象:
(2)在main.js中配置
比如:使用element-ui为例:
组使用件中
二:组件引入方式
比如,以使用 swiper为例
组件中使用
vue插件其实就是一个简单的 js对象而已 ,然后这个插件对象有一个公开属性 install ,他的值为一个函数,此函数接受两个参数。***个参数是 Vue 构造器 , 第二个参数是一个可选的选项对象。
一:开发插件有四种方法
二:添加实例方法
其中最常用的:【4. 添加实例方法】的写法和使用方法,下面举例说明toast 最简单插件开发过:
(1)新建一个plugin目录,编辑插件toast.js文件
(2)在 main.js 中,需要导入 toast.js 并且通过全局方法 Vue.use() 来使用插件
(3)我们在组件中来获取该插件定义的 $msg 属性,比如在根组件App.vue中
控制台输出:Hello World
三:添加全局资源
这里主要介绍过滤器
(1)在plugin目录新建插件filter.js文件
(2)在 main.js 中,需要导入 filter.js 并且通过全局方法 Vue.use() 来使用插件
(3)HelloWorld.vue页面上使用
添加全局资源也可以不放在插件里面实现,可以直接在main.js入口文件创建Vue实例前添加:
其他组件就可以通过this直接使用:
(1)核心区别
简单来说,插件就是指对Vue的功能的增强或补充。
(2)其他区别
一个Vue插件可以是一堆Vue组件的集合(插件干的事就是把内部的组件帮你倒入到vue全局下),也可以是用来扩展Vue功能的,比如 Vuex, Vue-Router。
测试完成,下面就要把的内容打包发布到npm 上去,具体步骤可以参照
vue插件的使用
vue插件使用方式是Vue.use(xxx),需要在new Vue实例之前加载,适合为Vue加入一些额外的通用功能。比如vuex,element-ui, axios都可以。
插件需要有install函数,然后就看自己发挥了。
Vue调用use的时候还可以传额外的自定义参数
vue插件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vue插件有哪些、vue插件的信息别忘了在本站进行查找喔。