美文网首页
33.Vue插件

33.Vue插件

作者: 静昕妈妈芦培培 | 来源:发表于2021-09-08 08:45 被阅读0次

通常我们向Vue全局添加一些功能时,会采用插件的模式,它有两种编写方式:

  • 对象类型:一个对象,但是必须包含一个 install 的函数,该函数会在安装插件时执行;
  • 函数类型:一个function,这个函数会在安装插件时自动执行;
插件可以完成的功能没有限制,比如下面的几种都是可以的:
  • 添加全局方法或者 property,通过把它们添加到 config.globalProperties 上实现;
  • 添加全局资源:指令/过滤器/过渡等;
  • 通过全局 mixin 来添加一些组件选项;
  • 一个库,提供自己的 API,同时提供上面提到的一个或多个功能;

插件的编写方式

  • 对象方式:对象里必须有一个install属性,值为一个函数
    /plugins/plugins_objects.js
export default {
  install(app) {
    app.config.globalProperties.$name = 'coderwhy'
  }
}
  • 函数方式
    /plugins/plugins_function.js
export default function(app) {
  app.config.globalProperties.$age = 18
}

注册插件
main.js

import { createApp } from "vue";
import App from "./3_otherApi/4_teleport内置组件/App.vue";
import registerDirectives from "./directives/index";
import plugins_objects from './plugins/plugins_objects'
import plugins_function from './plugins/plugins_function'
const app = createApp(App);
//注册插件
app.use(plugins_objects)
app.use(plugins_function)

app.use(registerDirectives);
app.mount("#app");

例:使用插件的方式注册全局属性

/plugins/plugins_function.js

export default function(app) {
  app.config.globalProperties.$age = 18
}

注册插件
main.js

import { createApp } from "vue";
import App from "./3_otherApi/4_teleport内置组件/App.vue";
import plugins_function from './plugins/plugins_function'
const app = createApp(App);
//注册插件
app.use(plugins_function)
app.mount("#app");

App.vue

<template>
  <!--模板中获取全局属性-->
  <div>{{$age}}</div>
</template>

<script>
import { getCurrentInstance } from "vue";
export default {
  //setup中获取全局属性
  setup() {
    //获取组件实例
    const instance = getCurrentInstance();

    console.log(
      instance.appContext.config.globalProperties.$age
    );
  },
  //optionsApi中获取全局属性
  mounted() {
    console.log( this.$age);
  },
};
</script>

<style lang="scss" scoped></style>

此文档主要内容来源于王红元老师的vue3+ts视频教程

相关文章

  • 33.Vue插件

    通常我们向Vue全局添加一些功能时,会采用插件的模式,它有两种编写方式: 对象类型:一个对象,但是必须包含一个 i...

  • React配置过程中用到的插件汇总

    ●react插件●react-dom插件●react-router插件●react-redux插件●babel插件...

  • iOS项目实战02

    修改插件:查找插件 -> 插件路径(不能记) -> Xcode插件开发 -> 查看插件代码 -> 搜索instal...

  • 5.文档 - gitbook - 插件

    参考 官方插件 重点参考 GitBook 插件 常用插件 配置插件 到 官方插件 上找合适的插件 在配置文件中安装...

  • FCPX系列的插件怎么安装导入?Final cut pro x插

    fcpx插件怎么安装? Fcpx插件怎么解压安装?fcpx插件怎么卸载?fcpx插件怎么添加?fcpx lut插件...

  • Cordova 插件更新

    查看项目插件列表 移除插件 添加插件

  • IDEA破解

    配置插件 配置仓库 下载插件 使用插件

  • Cordova 本地插件

    1 安装插件环境 2 创建插件 例子 添加配置 进入插件文件夹下初始化插件 插件使用

  • Webpack入门之plugins篇

    入门篇主要先学学插件的使用,不涉及自定义插件。 首先 插件分为:内置插件和外部插件。 内置插件例如BannerPl...

  • Gradle中插件的使用

    目录 插件的类型 插件的类型分为:1.脚本插件2.二进制插件 插件的使用 1.脚本插件的使用 脚本插件的使用方法如...

网友评论

      本文标题:33.Vue插件

      本文链接:https://www.haomeiwen.com/subject/rzmbiltx.html