当前位置: 首页 > news >正文

Vue30 自定义指令 函数式 对象式

实例

<!DOCTYPE html>
<html><head><meta charset="UTF-8" /><title>自定义指令</title><script type="text/javascript" src="../js/vue.js"></script></head><body><!-- 需求1:定义一个v-big指令,和v-text功能类似,但会把绑定的数值放大10倍。需求2:定义一个v-fbind指令,和v-bind功能类似,但可以让其所绑定的input元素默认获取焦点。自定义指令总结:一、定义语法:(1).局部指令:new Vue({															new Vue({directives:{指令名:配置对象}   或   		directives{指令名:回调函数}}) 																		})(2).全局指令:Vue.directive(指令名,配置对象) 或   Vue.directive(指令名,回调函数)二、配置对象中常用的3个回调:(1).bind:指令与元素成功绑定时调用。(2).inserted:指令所在元素被插入页面时调用。(3).update:指令所在模板结构被重新解析时调用。三、备注:1.指令定义时不加v-,但使用时要加v-;2.指令名如果是多个单词,要使用kebab-case命名方式,不要用camelCase命名。--><!-- 准备好一个容器--><div id="root"><h2>{{name}}</h2><h2>当前的n值是:<span v-text="n"></span> </h2><!-- <h2>放大10倍后的n值是:<span v-big-number="n"></span> </h2> --><h2>放大10倍后的n值是:<span v-big="n"></span> </h2><button @click="n++">点我n+1</button><hr/><input type="text" v-fbind:value="n"></div></body><script type="text/javascript">Vue.config.productionTip = false//定义全局指令/* Vue.directive('fbind',{//指令与元素成功绑定时(一上来)bind(element,binding){element.value = binding.value},//指令所在元素被插入页面时inserted(element,binding){element.focus()},//指令所在的模板被重新解析时update(element,binding){element.value = binding.value}}) */new Vue({el:'#root',data:{name:'尚硅谷',n:1},directives:{//big函数何时会被调用?1.指令与元素成功绑定时(一上来)。2.指令所在的模板被重新解析时。/* 'big-number'(element,binding){// console.log('big')element.innerText = binding.value * 10}, */big(element,binding){console.log('big',this) //注意此处的this是window// console.log('big')element.innerText = binding.value * 10},fbind:{//指令与元素成功绑定时(一上来)bind(element,binding){element.value = binding.value},//指令所在元素被插入页面时inserted(element,binding){element.focus()},//指令所在的模板被重新解析时update(element,binding){element.value = binding.value}}}})</script>
</html>

相关文章:

  • react18加antd新手上路使用
  • Golang 并发 Channel的用法
  • 智慧物业信息管理系统平台及APP建设项目
  • 第2讲:C语言数据类型和变量
  • 代理模式笔记
  • 【坑】Spring Boot整合MyBatis,一级缓存失效
  • 微服务三十五关
  • Windows 10 优化指南20240223
  • QT_day4
  • 深入理解Java单例模式
  • https://registry.npm.taobao.org淘宝npm镜像仓库地址更新
  • STM32F4XX - uart设置
  • 2024年漳州本地有正规等保测评机构吗?在哪里?
  • vue2+element医院安全(不良)事件报告管理系统源代码
  • Stable Diffusion 模型的概念、类型、下载、安装、使用
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  •  D - 粉碎叛乱F - 其他起义
  • input的行数自动增减
  • mac修复ab及siege安装
  • Mocha测试初探
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Python进阶细节
  • Redash本地开发环境搭建
  • 从零搭建Koa2 Server
  • 高度不固定时垂直居中
  • 前嗅ForeSpider中数据浏览界面介绍
  • 设计模式 开闭原则
  • 深入 Nginx 之配置篇
  • 微信开源mars源码分析1—上层samples分析
  • 我有几个粽子,和一个故事
  • 应用生命周期终极 DevOps 工具包
  • zabbix3.2监控linux磁盘IO
  • 大数据全解:定义、价值及挑战
  • 函数计算新功能-----支持C#函数
  • 树莓派用上kodexplorer也能玩成私有网盘
  • 我们雇佣了一只大猴子...
  • ​VRRP 虚拟路由冗余协议(华为)
  • # 数据结构
  • #{}和${}的区别是什么 -- java面试
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #Z0458. 树的中心2
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (9)STL算法之逆转旋转
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (SpringBoot)第七章:SpringBoot日志文件
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (六)激光线扫描-三维重建
  • (学习日记)2024.01.19
  • (转)可以带来幸福的一本书
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)