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

山东滨州网站建设公司做淘客都有什么网站

山东滨州网站建设公司,做淘客都有什么网站,百度资源平台,seog在vue中除了官方提供的指令还允许自定义指令。 Vue2 语法 全局注册指令Vue.directive(指令名,{bind:function(el,blinding, vNode){// 指令第一次绑定到元素时调用- el: 被绑定元素- blinding: 指令相关信息- vNode.context: 当前实例化对…

在vue中除了官方提供的指令还允许自定义指令。

Vue2

语法
  • 全局注册指令
    Vue.directive(指令名,{bind:function(el,blinding, vNode){// 指令第一次绑定到元素时调用- el: 被绑定元素- blinding: 指令相关信息- vNode.context: 当前实例化对象}inserted:function(el,blinding, vNode){// 被绑定元素插入父节点时调用}update:function(el,blinding, vNode, oldVnode){// 所在组件的VNode更新时调用}componentUpdated:function(el,blinding, vNode, oldVnode){// 所在组件的VNode及其子VNode全部更新后调用}unbind:function(el,blinding, vNode){// 指令与元素解绑时调用}
    })
    
  • 局部注册-通过directives配置项注册
    directives:{指令名:{// 配置项与全局相同}
    } 
    
  • 注意点:
    [1] 指令名不带v-,vue创建指令时会自动加v- ,比如创建的指令为focus在trmplate中使用时使用v-focus
举例说明-input标签聚焦
<template><div><input v-focus></div>
</template>
<script>
export default {directives:{'focus':{inserted: function(el){el.focus()}}}
}
</script>

input标签在页面打开时会自动聚焦

举例说明- 高亮设置

默认显示黄色背景高亮也可以通过选择更改高亮颜色

<template><div><div><select name="" id="" v-model="color"><option :value="1">黄色</option><option :value="2">红色</option></select><span v-highlight>111111111</span></div></div>
</template>
<script>
export default {data:function(){return{color: 1}},directives:{highlight:{bind: function(el){el.style.backgroundColor = 'yellow'},update: function(el, blinding, vnode){console.log(vnode.context)el.style.backgroundColor = vnode.context.color == 1 ? 'yellow' : 'red'}}}
}
</script>

Vue3

语法
  • 全局注册
    app = Vue.createApp({})
    app.directive(指令名,{created: function(){// 在绑定元素的属性或事件监听器被应用之前调用},beforeMount: function(el, binding, vnode, prevVnode){// beforeMount:当指令第一次绑定到元素并且在挂载父组件之前调用},mounted: function(el, binding, vnode, prevVnode){// mounted:在绑定元素的父组件被挂载后调用(相当于Vue2的inserted)},beforeUpdate: function(){// beforeUpdate:在更新包含组件的VNode之前调用},updated: function(el, binding, vnode, prevVnode){// updated:在包含组件的VNode及其子组件的VNode更新后调用},beforeUnmount: function(){// beforeUnmount:在卸载绑定元素的父组件之前调用},unmounted: function(){// unmounted:当指令与元素解除绑定且父组件已卸载时调用},
    })
    
举例说明-input聚焦
<template><input type="text" v-focus>
</template><script>
export default {directives: {focus: {mounted(el) {el.focus();}}}
}
</script>
示例-防抖指令

防抖

app.directive('debounce',{mounted(el,blinding){// v-debounce:small='500' value==500 arg=='small'// v-debounce:500='goHome' value==goHome方法 arg==500const { value, arg } = blinding// 定义防抖的时间let delay = 500if(typeof value === 'number'){delay = value}else if(arg){delay = parseInt(arg)}// 定时器idlet timer = null// 监听元素的点击事件el.addEventListener('click', function(){// 每次点击重新计时if(timer) clearTimeout(timer)timer = setTimeout(function(){// 到时间执行点击事件if (typeof value == 'function') value()}, delay)}, false)},beforeUnmount(el) {clearTimeout(el._debounceTimer)}
})
http://www.dtcms.com/a/573390.html

相关文章:

  • 免杀技巧 - 早鸟注入详细学习笔记
  • Tomcat安装和Servlet项目创建【保姆教程】
  • C++入门(二) (算法竞赛)
  • 【Svelte】如果是导入的组件,如何为其添加样式?
  • SpringBoot 实战(四十)集成 Statemachine
  • 网站制作教程手机杭州酒店网站设计公司推荐
  • 【设计题】如何实现限流器
  • 场外衍生品架构解析:TRS收益互换与场外个股期权的技术实现
  • 小程序定制开发实战:需求拆解、UI 设计与个性化功能落地流程
  • MATLAB基于变权理论和灰色云模型的海岛旅游地生态安全评价
  • 威联通nas 做网站长沙装修公司名单
  • 机器学习中的 fit()、transform() 与 fit_transform():原理、用法与最佳实践
  • 旅游景区网站建设的必要性织梦论坛
  • 【YashanDB认证】之三:用Docker制作YMP容器
  • 图文生视频的原理与应用
  • Java Spring Boot 项目 Docker 容器化部署教程
  • YOLOv8 模型 NMS 超时问题解决方案总结
  • 苏州网站设计公司有哪些行业网站导航
  • 福建外贸网站dw做网站注册页代码
  • VBA信息获取与处理专题五第三节:发送带附件的电子邮件
  • Linux上kafka部署和使用
  • 天河网站建设策划如何做阿里巴巴的网站
  • 网站建设自主开发的三种方式南充移动网站建设
  • 自动化测试用例的编写和管理
  • 头歌MySQL——数据库与表的基本操作
  • DUOATTENTION:结合检索与流式注意力机制的高效长上下文大语言模型推理方法
  • SAMWISE:为文本驱动的视频分割注入SAM2的智慧
  • Linux 进程状态:内核角度与应用层角度
  • A与非A、综合分析技巧
  • java之jvm堆内存占用问题