Vue 插件(plugin)
前言
当我们的项目业务一但复杂起来,相应的全局组件或者是全局自定义指令等等就会变得多了起来,而为了让我们更好了进行管理,vue 给我们提供插件的功能,让我们更好的添加全局功能。下面就让我们来看一看他是如何实现的,以及应用场景有哪些吧。
插件
插件(plugin):能更好的管理添加全局功能的相关代码。
复制代码
然后我们声明一个 plugin.js 的文件,导出一个含有 install 方法的对象或者 install 函数本身即可。而 install 方法接收两个参数,第一个是是当前应用的实例,第二个是传递的额外选项。
复制代码
适应场景
app.component()和 app.directive()注册的全局组件或自定义指令。
app.provide()提供的应用级的依赖。
app.config.globalProperties 上添加的全局属性实例和方法。
第三方功能库,如 lodash。
当然,上述所说的场景不一定非要使用插件的形式,具体情况根据自身项目进行把控。
编写插件
下面我们来编写一个具体的插件来更好的理解它吧。以一个简单的 i18n 插件为例。
首先,有一个翻译函数,该函数接受一个以.
为分隔符的 key 字符串,通过用户提供的字典,进行相应的语言文本查找。
复制代码
其次这个翻译函数可以在任意模板中进行全局调用。
复制代码
这样我们就完成了 $trans 翻译函数了,会通过接受的字符串返回相应的语言文本。
下面,我们只需要对他进行应用,并进行传参就可以了。
复制代码
这样我们就可以全局使用 $trans()方法了。
版权声明: 本文为 InfoQ 作者【Augus】的原创文章。
原文链接:【http://xie.infoq.cn/article/b339cb3b0dff47082c71dd0bc】。文章转载请联系作者。
评论