广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue自定义指令详解
  • 184
分享到

Vue自定义指令详解

2024-04-02 19:04:59 184人浏览 独家记忆
摘要

目录Vue自定义指令自定义指令钩子函数输出相关属性运用例子总结Vue自定义指令 自定义指令 注册一个全局指令v-focus,该指令的功能是在页面加载时元素获得焦点 <!DO

Vue自定义指令

自定义指令

注册一个全局指令v-focus,该指令的功能是在页面加载时元素获得焦点


<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="../js/vue.js"></script>
	</head>
	<body>
		<div id="app">
			<input v-fo>
		</div>
		<script>
            // 注册自定义指令
			Vue.directive('fo',{
				inserted:function(el){
                    // 聚焦元素
					el.focus()
				}
			})
			new Vue({
				el: '#app'
			})
		</script>
	</body>
</html>
 

image-20211112151122161

打开界面光标直接在输入框内

钩子函数

指令定义函数提供了几个钩子函数(可选)。

  • bind:只调用一次,指令第一次绑定到元素时调用,可以用这个钩子函数定义一个在绑定时执行一次的初始化动作。
  • inserted:被绑定的元素插入父节点时调用(父节点存在即可调用,不必存在于document中)。
  • update:被绑定元素所在的模板更新时调用,而不论绑定值是否变化。通过比较更新前后的绑定值,可以忽略不必要的模板更新。
  • componentUpdated:被绑定元素所在模板完成一次更新周期时调用。
  • unbind:只调用一次,指令与元素解绑时调用。

钩子函数的参数主要有以下几项

  • el:指令所绑定的元素,可以用来直接操作DOM。
  • binding:一个对象,包含以下属性
  • name:指令名,不包括v-前缀。
  • value:指令的绑定值,例如v-my-directive=“1+1”,value的值是2。
  • oldValue:指令绑定的前一个值,仅在update和componentUpdated钩子中可用,无论值是否改变都可用。
  • expression:绑定值的表达式或变量名,例如v-my-directive=“1+1”,expression的值是"1+1"。
  • arg:传给指令的参数,例如v-my-directive:foo,arg的值是"foo"。
  • modifiers:一个包含修饰符的对象,例如v-my-directive.foo.bar,修饰符对象modifiers的值是{foo:true,bar:true}。
  • vnode:Vue编译生成的虚拟节点。
  • oldVnode:上一个虚拟节点,仅在update和componentUpdated钩子中可用。

输出相关属性


<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="../js/vue.js"></script>
	</head>
	<body>
		<div id="app" v-hh:a.b.c="mess">
		</div>
		<script>
			Vue.directive('hh',{
				bind: function(el,binding,vnode){
					var s = JSON.stringify
					el.innerHTML = 'name:'+s(binding.name)+'<br>'+
					'value:'+s(binding.value)+'<br>'+
					'expression:'+s(binding.expression)+'<br>'+
					'argument:'+s(binding.arg)+'<br>'+
					'modifiers:'+s(binding.modifiers)+'<br>'+
					'vnode keys:'+Object.keys(vnode).join(',')
				}
			})
			new Vue({
				el:'#app',
				data:{
					mess:'abc'
				}
			})
		</script>
	</body>
</html>
 

image-20211112163153199

运用例子


<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="../js/vue.js"></script>
	</head>
	<body>
		<div id="app">
			<div v-hh="{text:'123',c:'blue'}"></div>
		</div>
		<script>
			Vue.directive('hh',function(el,binding){
				el.innerHTML=binding.value.text
				el.style.color=binding.value.c
			})
			new Vue({
				el:'#app'
			})
		</script>
	</body>
</html>
 

image-20211112164831459

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: Vue自定义指令详解

本文链接: https://www.lsjlt.com/news/157372.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue自定义指令详解
    目录Vue自定义指令自定义指令钩子函数输出相关属性运用例子总结Vue自定义指令 自定义指令 注册一个全局指令v-focus,该指令的功能是在页面加载时元素获得焦点 <!DO...
    99+
    2022-11-12
  • Vue自定义指令详细
    目录1、背景2、局部自定义指令3、全局自定义指令4.1 自定义指令钩子函数4.2 钩子函数参数4.3 动态指令传参 5、拓展1、背景 最近在面试找工作,然后面试官就问了有关自定义指令...
    99+
    2022-11-12
  • 详解Vue自定义指令及使用
    目录一、什么是指令vue 中常用的一些内置 v- 指令v-if 和 v-show 的对比二、自定义指令的钩子函数三、全局指令四、局部指令五、带参数的自定义指令六、函数简写七、应用实例...
    99+
    2022-11-12
  • vue自定义加载指令最新详解
    目录前言创建加载组件创建指令指令文件创建构造器书写指令开启函数关闭函数前言 用过element-ui的都应该知道,里面有一个loading组件,有两种调用方法:指令和服务。但是只有一...
    99+
    2022-11-13
  • Vue自定义指令v-focus实例详解
    目录前言自定义指令 directive项目实际使用技术背景实际操作优势setTimeout(fn, 0) 永远的神$nextTick(callback)小结前言 本文直接参考vue2...
    99+
    2022-11-13
  • Vue自定义指令学习及应用详解
    目录一、自定义指令v-mycolor二、使用钩子函数的自定义指令三、Vue实现简单的学生信息管理系统除了核心功能默认内置的指令,Vue.js允许注册自定义指令。添加一个自定义指令,有...
    99+
    2023-05-19
    Vue自定义指令学习 Vue自定义指令应用 Vue自定义指令 Vue 指令
  • Vue.js directive自定义指令详解
    自定义一个demo指令 Vue自定义指令语法如下: Vue.directive(id, definition) 传入的两个参数,id是指指令ID,definition是指定义...
    99+
    2022-11-12
  • vue中自定义指令directive的详细指南
    目录一、 什么是自定义指令二、 如何自定义指令钩子函数三、应用场景输入框防抖图片懒加载一键 Copy的功能拖拽总结一、 什么是自定义指令 我们看到的v-开头的行内属性,都是指令,不...
    99+
    2022-11-12
  • lottie实现vue自定义loading指令及常用指令封装详解
    目录一、前言二、实现方式1.v-loading2.v-click-outside三、后记一、前言 本文主要介绍使用lottie动画实现vue自定义loading的指令方法。另外本篇文...
    99+
    2022-11-13
  • 深入解析Vue的自定义指令
    目录介绍​指令钩子​钩子参数​简化形式​对象字面量​在组件上使用​介绍​ 除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之...
    99+
    2023-05-18
    Vue 指令 Vue自定义指令
  • vue3自定义指令详情
    目录一、注册自定义指令1.1、全局自定义指令1.2、局部自定义指令二、自定义指令中的生命周期钩子函数三、自定义指令钩子函数的参数四、自定义指令参数一、注册自定义指令 以下实例都是实现...
    99+
    2022-11-12
  • vue全局自定义指令和局部自定义指令的使用
    目录局部自定义指令(只针对组件内的元素)定义全局自定义指令自定义指令的钩子函数自定义指令钩子函数的参数例子除了默认设置的核心指令 (v-model 和 v-show),Vue 也允许...
    99+
    2022-11-13
  • Vue自定义指令的使用详细介绍
    目录1. 概述2. 钩子函数3. 自定义全局指令4. 自定义局部指令5. 使用自定义指令实现权限管理6. 使用自定义指令实现表单验证1. 概述 除了核心功能默认内置的指令,Vue也允...
    99+
    2022-11-13
  • Vue自定义指令怎么写
    小编给大家分享一下Vue自定义指令怎么写,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是Vue指令指令是一种可以附加到DOM...
    99+
    2022-10-19
  • vue中的自定义指令clickOutside
    目录自定义指令clickOutside首先我们先看看vue官方的文档clickoutside 这个指令用在哪里呢?写法自定义指令clickoutside使用及扩展用法自定义指令cli...
    99+
    2022-11-13
  • Vue中如何自定义指令
    这篇文章主要介绍Vue中如何自定义指令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Vue中除了内置指令,也允许注册自定义的指令。自定义指令提供一种将数据的变化映射为DOM的行为例如:当我们想用一个函数表示焦点Vue...
    99+
    2023-06-04
  • 深入了解Vue中的自定义指令
    作为使用Vue的开发者,我们对Vue指令一定不陌生,诸如v-model、v-on、v-for、v-if等,同时Vue也为开发者提供了自定义指令的api,熟练的使用自定义指令可以极大的提高了我们编写代码的效率,让我们可以节省时间开心的摸鱼~对...
    99+
    2022-11-22
    Vue.js
  • vue如何自定义加载指令
    本文小编为大家详细介绍“vue如何自定义加载指令”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue如何自定义加载指令”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。前言用过element-ui的都应该知道,里面...
    99+
    2023-07-02
  • vue如何使用自定义指令
    这篇文章将为大家详细讲解有关vue如何使用自定义指令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 使用自定义指令的逻辑与使用事件修饰符的逻辑...
    99+
    2022-10-19
  • vue中有哪些自定义指令
    这篇文章主要介绍“vue中有哪些自定义指令”,在日常操作中,相信很多人在vue中有哪些自定义指令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中有哪些自定义指令”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作