首页 > 其他分享 >Vue 自定义指令

Vue 自定义指令

时间:2023-02-15 22:35:24浏览次数:33  
标签:Vue 自定义 指令 生效 input btn document

 

 

案例1:定义一个v-big指令,和v-text功能类似,但会把绑定的数值放大10倍

<!DOCTYPE html>
<head>
    <meta charset="UTF-8"/>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <div id="root">
        <h2>当前的n值是:<span v-text="n"></span></h2>
        <h2>放大10倍后的n值是:<span v-big="n"></span></h2>
        <button @click="n++">点我n+1</button>
    </div>
</body>
<script type="text/javascript">
    Vue.config.productionTip = false;
    new Vue({
        el:"#root",
        data:{
            n:1
        },
        directives:{
            //big 函数何时会被调用? 
            //1、指令与元素成功绑定时;
            //2、指令所在的模板被重新解析时。
            big(element,binding){
                element.innerText = binding.value*10
            }
        }
    })
</script>

案例2:定义一个v-fbind指令,和v-bind功能类似,但可以让其所绑定的input元素默认获取焦点

1、js操作页面元素基础:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .demo{
            background-color: antiquewhite;
        }
    </style>
</head>
<body>
    <button id="btn">点我创建一个输入框</button>
    <script type="text/javascript">
        const btn = document.getElementById('btn')
        btn.onclick=()=>{
            const input = document.createElement('input')
            // input.focus() //写在页面渲染元素前,不生效
            input.className = 'demo' //生效
            input.value = 99 //生效
            input.onclick = ()=>{ //生效
                alert(1)
            }
            document.body.appendChild(input)
            input.focus()
            input.parentElement.style.backgroundColor = "skyblue"//input放入页面之后才生效
        }
    </script>
</body>
</html>
View Code

 

标签:Vue,自定义,指令,生效,input,btn,document
From: https://www.cnblogs.com/technicist/p/17124990.html

相关文章

  • Vue
    目录一.Vue介绍1.前端发展史2.Vue简介渐进式框架网站3.Vue特点易用灵活高效4.M-V-VM思想①MVVM介绍②MVVM的特性5.组件化开发、单页面开发组件化开发单页面开发(spa)6.版......
  • Vue v-once指令 和 v-pre指令
    v-once指令:1、v-once所在节点在初始化动态渲染后,就视为静态内容了2、以后数据的改变不会引起v-once所在结构的更新,可用于优化性能v-pre指令:1、跳过其所在节点的编译过......
  • vue基础:js的几种循环方式、key值的解释、数组,对象的检测与更新、input事件、v-model双
    目录一、js的几种循环方式1.1v-for可以循环的变量1.2js的循环方式二、key值的解释三、数组,对象的检测与更新四、input事件五、v-model双向数据绑定六、过滤案例七、事件......
  • vue-3
    js的几种循环方式v-for可以循环的变量可以循环的有数组,对象,字符串,数字<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</titl......
  • vue_day03
    今日内容1js的几种循环方式1.1v-for可以循环的变量<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc......
  • VUE简单实用
    目录v-for的循环方式原生js的循环方式v-for中key值方法的解释vue中数组和对象的检测更新input事件v-model双向数据绑定过滤案例箭头函数事件修饰符按键修饰符Input表单控制......
  • vue框架3
    js的几种循环方式1.v-for可以循环的变量 <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="./js/vu......
  • vueday3
    昨日回顾#1mvvm演示#2插值语法{{}} -三目运算符条件?'':''#3文本指令 -v-xxvue的指令,放在标签上<pv-xx></p>-v-text='变......
  • vue3
    今日内容概要js的几种循环方式key值的解释数组对象的检测与更新input时间v-model双向数据绑定过滤案例事件修饰符按键修饰符表单控制今日内容详细js几种循环......
  • Axios-Vue
    axios中文文档安装npmiaxios基本使用引入importaxiosfrom'axios';使用//GET请求axios({method:'get',url:'http://api/'}).then(res=>{c......