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

Vue之插件的使用

时间:2023-04-13 16:37:07浏览次数:28  
标签:插件 vue 定义 plugins element Vue 使用

目录

作用

vue的插件的作用就是为了增强Vue,比如router,比如Vuex
本质就是包含install方法的一个对象,install的第一个参数是vue,第二个及之后的参数是使用都要传递的数据,插件对象中的install方法会被vue自动调用。

使用

  1. 在Vue项目的src目录中创建目录plugins,在plugins目录下创建index.js
    image

  2. 定义插件,内容如下

import Vue from "vue";

export default {
    install(a) {
        console.log('执行了插件', a)
        // 定义指令
        //定义全局指令:跟v-bind一样,获取焦点
        Vue.directive("fbind", {
            //指令与元素成功绑定时(一上来)
            bind(element, binding) {
                element.value = binding.value;
            },
            //指令所在元素被插入页面时
            inserted(element, binding) {
                element.focus();
            },
            //指令所在的模板被重新解析时
            update(element, binding) {
                element.value = binding.value;
            },
        });
  1. 使用插件,在main.js中添加如下数据
import xxx from '@/plugins'
Vue.use(xxx)
  • 上面的效果其实就是按v-bind写了一个插件进行演示插件的使用,效果完全与v-bind相同。
    image

定义全局变量

定义全局变量需要使用Vue.prototype方法,一般为了避免与普通变量的值冲突,都使用$字符开头,不但可以定义变量,也可以定义函数。定义之后在任何组件中都可以使用到。

  1. 在plugins/index.js中定义
import Vue from "vue";

export default {
    install(vue) {
        // Vue.prototype为方法,$name为变量的名字,为了避免与普通变量的值冲突,所以使用$字符开头
        Vue.prototype.$name = '我来测试全局属性'  // 可以传变量
        Vue.prototype.$plus = (a, b) => {       // 可以传函数
            return a + b
        }
        // 也可以定义混入,定义混入后与之前直接使用混入的不同就是,这里不需要再进行导出了,直接导入插件即可
        Vue.mixin({
            data() {
                return {
                    name: '彭于晏',
                    age: 19,
                };
            },
        });
        // 也可以定义全局组件
        Vue.component(组件内容)
    }
}
  1. 在main.js中加载
import xxx from '@/plugins'   // 注意这里的xxx可以随便换成别的名字,与下面的对应就可以了
Vue.use(xxx)                  // 注意这里没有引号

标签:插件,vue,定义,plugins,element,Vue,使用
From: https://www.cnblogs.com/smyz/p/17315025.html

相关文章

  • taro3.6.4 在H5 端使用 tabBar 出现bug --- taro Cannot read properties of undefi
    taro3.6.4在H5端使用tabBar出现bug解决办法就是换版本3.6.2好像没有这个问题已经有人反馈了,https://github.com/NervJS/taro/issues/13581taroCannotreadpropertiesofundefined(reading'list')......
  • 在Django+Vue3+GraphQL的Blog例子代码中引入Element-Plus UI Framework
    Vue3的UIFramework中有Element-Plus、BalmUI、Quasar、PrimeVue、AntDesignVue等UIFramework.Element-Plus是Element-UI的Vue3版,Element-UI的使用人数的基数较大,Github上的Star数也较多,就选择了Element-Plus作为这个Blog项目的UIFramework.UIFramework的好处就是提供了......
  • 百度翻译接口的获取与使用方法
      本文介绍获取百度翻译官方接口及其密钥,并将接口授权给自己或他人开发的软件或插件的方法。  首先,打开百度翻译开放平台网站,首先点击右上角进行登录。  登录后,选择“管理控制台”。  首次进入“管理控制台”,需要首先注册为百度翻译的开发者身份。在这里,我们选择“个......
  • 关于使用硬件接口卡及CANoe软件的常见问题和解决方案
    CANoe是德国Vector公司出的一款总线开发环境,是网络和ECU开发、测试和分析的专业工具,支持从需求分析到系统实现的整个系统开发过程。硬件接口卡可以提供移动和固定的CAN,LIN,Ethernet等网络的开发、仿真、测试及维护,具有高性能、容易使用、适应性强的硬件接口,用来搭配CANoe的使用,拓展......
  • 七天玩转Redis | 打卡第三天 使用Redis的地理位置、基数统计、位图场景
    今天学习的内容今天学习了Redis在地理位置、基数统计、位图场景上的使用今天的收获今天的收获,了解了Redis在另外几个场景下的应用,比如说地理位置长的应用,在以前我只知道用一些特殊的api来计算距离,没想到Redis还提供这样的服务,这样可以省去调用一些api来计算,可以直接将要计......
  • 使用MultipartFile遇到的坑
    java使用MultipartFile上传文件时,转换流的时候,遇到java.io.ByteArrayInputStreamcannotbecasttojava.io.FileInputStream错误FileInputStreamfileInputStream=(FileInputStream)file.getInputStream();正常情况下应该返回FileInputStream,但我遇到返回ByteArrayInpu......
  • tinymix使用 嵌入式linux tinyplay控制音频
    tinymix控制声音大小使用方法使用字符方式保险  tinymix"LINEOUTvolume""2"有的是输入int但是此处输入输入int时,不行,使用字符串输入可以正常修改 输入tinymix查看选项和使用方法 root@/test_utils/alsa#tinymixMixername:'audiocodec'Numberofcontrols:......
  • 使用vue ui命令创建vue项目
    使用vueui创建项目时的几个选项1、什么是vueuivue3相比vue2多了一个创建项目的方式,那就是使用vueui的命令方式创建项目。vueui的实质就是使用vue官方图形化项目管理工具2、如何使用vueui创建vue项目或者直接选择第二个使用vue3的默认选项,我在这里介绍手动配置2.1......
  • vue中通过事件获取元素的值
    vue中通过事件获取元素的值原生js获取值<template><div><ul><li>姓名:<inputtype="text"id="name"/></li></ul><button@click="doSubmit()"class="submit">获取表单的......
  • MegEngine 使用小技巧:使用 Optimizer 优化参数
    神经网络的学习的目的是找到使损失函数的值尽可能小的参数。这是寻找最优参数的问题,解决这个问题的过程称为优化(optimization)。而由于参数空间复杂、参数数量庞大等原因,使得神经网络的优化问题非常难。MegEngine的optimizer模块中实现了大量的优化算法,其中Optimizer是所有......