首页 > 其他分享 >22 插件

22 插件

时间:2023-02-13 17:33:21浏览次数:46  
标签:el 插件 Vue 22 binding value install

1、功能:用于增强Vue

2、本质:包含install方法的一个对象,install的第一个参数的Vue,第二个及以后的参数是插件使用这传递的数据。

定义插件:
    对象.install = function(Vue,options){
        //1.添加全局过滤器
        Vue.filter(....)
        //2.添加全局指令
        Vue.directive(....)
        //3.配置全局混入(混合)
        Vue.mixin(....)
        //4.添加实例方法
        Vue.prototype.$myMethod = function(){....}
        Vue.prototype.$myProperty = xxxx
    }

3、使用插件: Vue.use()

4、代码

4.1插件定义


export default {
    install(Vue){
        // console.log('@@@install hxm',Vue)
        //1.添加全局过滤器
        Vue.filter('mySlice',function(value){
            return value.slice(0,4)
        })
        //2.添加全局指令
        Vue.directive('fbind', {
            //指令与元素成功绑定时
            bind(el, binding) {
                el.value = binding.value
            },
            //指令所在元素成功插入界面时
            inserted(el, binding) {
                el.focus()
            },
            //指令所在的模板被重新解析时
            update(el, binding) {
                el.value = binding.value
            }
        });
        //3.配置全局混入(混合)
        Vue.mixin({
            data(){
                return{
                    x:100,
                    y:200
                }
            }
        })
        //4.添加实例方法:vm和vc就都能用了
        Vue.prototype.hello =()=>{alert('你好啊')}
    }
}


4.2 插件使用


<template>
  <div>
    <h1>{{ msg }}</h1>
    <!-- 管道符使用插件中 全局过滤器 -->
    <h2>学生姓名:{{name | mySlice}}</h2>
    <h2>学生性别:{{sex}}</h2>
    <h2>学生年龄:{{age}}</h2>
    <!-- 使用插件中fbind全局指令 -->
    <input type="text" v-fbind:value="name">
    <br/>
    <br/>
    <!-- 使用全局中实例方法 -->
    <button @click="sayHi">点我测试hello方法</button>
  </div>
</template>
<script>
export default {
    name:'Student',
    data(){
        // console.log(this)   //输出的vc,包含data内的msg,以及props内的name,age,sex
        return{
            msg:'我是饥荒Boss',
            name:'猪人小鸭子',
            age:12,
            sex:'男'
        }
    },
    methods:{
        sayHi(){
            this.hello()
        }
    }
}
</script>


5、效果图

标签:el,插件,Vue,22,binding,value,install
From: https://www.cnblogs.com/quliangshyang/p/17117114.html

相关文章

  • GB/T28181-2022针对H.265、AAC的说明和技术实现
    GB/T28181-2022规范说明GB/T28181-2022相对来GB/T28181-2016针对H.265、AAC的更新如下:——更改了“联网系统通信协议结构图”,媒体流通道增加了H.265、G.722.1、AAC(见4.3.1......
  • laydate插件实现时间选择器
    文章目录​​一、前言:​​​​二、年选择器:​​​​1、引入js和css文件:​​​​2、写一个input标签:​​​​3、执行一个laydate实例​​​​4、页面效果:​​​​三、年月选......
  • 利用bootstrap-table插件自带的打印功能打印表格
    文章目录​​1、前端代码:​​​​2、前端页面:​​​​1、表格数据展示​​​​2、点击打印按钮之后:​​​​3、插件下载地址:​​​​4、碰到的bug​​1、前端代码:<linkhre......
  • bootstrap-suggest插件
    文章目录​​一、bootstrap-suggest​​​​1.1功能说明​​​​1.2实现效果:​​​​1.3方法调用​​​​1.4事件监听​​​​1.5完整代码实现:​​​​1.5.1前端关键......
  • chatGPT中文版-插件初体验
            话说当年上学那会校园流行的,是一个叫表表机器人(高校智能课程表)的软件,是我最早接触的智能对话,觉得非常有趣,常常一个人能上玩半个小时,后来随着智能......
  • bootstrap-suggest插件处理复杂对象时的解决方案
    文章目录​​一、问题描述:​​​​二、解决办法:​​​​后端代码:​​​​jsp页面:​​​​js代码渲染:​​​​实现效果:​​​​三、插件下载地址:​​一、问题描述:在用bootst......
  • printThis前端打印插件
    文章目录​​一、前言:​​​​1、特征​​​​2、插件下载地址:​​​​二、用法:​​​​1、所有配置:​​​​三、示例代码:​​​​1、jsp代码:​​​​2、js部分:​​​​3......
  • docker 安装nginx1.22.1
    1,拉取镜像:dockerpullnginx:1.22.12,创建映射目录mkdir-p/docker/nginx3,创建临时容器用于复制配置信息dockerrun--namenginx-p80:80-dnginx:1.22.14,拷贝......
  • C - Cake HDU - 1722 (数学)
    题意:就是一个蛋糕,被分成n或者m份。问最少动几刀。看一下这个图,就知道公式了,n+m-gcd(n,m);#include<cstdio>#include<iostream>usingnamespacestd;#definelllon......
  • AD22 PCB导出Gerber文件详细步骤
    PCB绘制好,检查完成后,就可以把文件交给PCB工厂生产了,一般有两种方式:第一种最简单就是直接将PCB文件压缩打包,发给工厂。第二种生成Gerber等相关资料,再压缩打包,发给......