通常我们向Vue全局添加一些功能时,会采用插件的模式,它有两种编写方式:
- 对象类型:一个对象,但是必须包含一个install 的函数,该函数会在安装插件时执行;
- 函数类型:一个function,这个函数会在安装插件时自动执行;
插件可以完成的功能没有限制,比如下面的几种都是可以的:
- 添加全局方法或者 property,通过把它们添加到 config.globalProperties 上实现;
- 添加全局资源:指令/过滤器/过渡等:
- 通过全局 mixin 来添加一些组件选项
- 一个库,提供自己的 API,同时提供上面提到的一个或多个功能:
示例代码
// App.vue
<template>
<div class="app">
<h2>app</h2>
</div>
</template>
<script setup>
</script>
<style scoped>
</style>
// 安装插件
// 方式一: 传入对象的情况
app.use({
install: function(app) {
console.log("传入对象的install被执行:", app)
}
})
// 方式二: 传入函数的情况
app.use(function(app) {
console.log("传入函数被执行:", app)
})
我们在main.js中用.use来使用插件
import { createApp } from 'vue'
import App from './03_安装插件/App.vue'
import useDirectives from './01_自定义指令/directives/index'
const app = createApp(App);
// 自定义指令方式一:
// useDirectives(app)
// 自定义指令的方式二:使用插件
app.use(useDirectives)
app.mount('#app')
感谢大家观看,我们下次见
of course like your web site but you need to test the spelling on quite a few of your posts. A number of them are rife with spelling problems and I in finding it very troublesome to inform the reality nevertheless I will surely come again again.
新年快乐!
十天看一部剧,还可以吧
@梦不见的梦 行,谢谢提醒,我优化一下
网站的速度有待提升,每次打开都要转半天还进不来呢
@React实战爱彼迎项目(二) - 程序员鸡皮 哪里有问题了,报错了吗?
@Teacher Du 那是怕你们毕不了业,我大学那会儿给小礼品
我们大学那会,献血还给学分~
@ab 我想去学网安,比如网警,但分也贼高😕
@夜 加油,你一样也可以成为程序员的,需要学习资料可以V我