自定义指令
自定义指令:自己定义的指令,可以封装一些 dom 操作,扩展额外功能
语法:
(无论是全局方式定义指令 还是 局部方式定义指令,最终 只要把指令定义完成,页面当中用起来 只需要 eg : <input v-指令名 type = "text" > 。只要一绑上,在当前输入框被插入到页面当中的时候,就会自动执行 inserted 钩子)
1. 全局注册:
Vue.directive ( ' 指令名 ' , { // 指令的配置项,在配置项当中需要写跟指令相关的钩子
inserted ( el ) {
// inserted 就是指令的生命周期钩子,表示当前指令所绑定的元素被添加到页面当中的时候 会自动调用。形参 el 就可以拿到指令所绑定的元素
// 可以对 el 标签,扩展额外功能
el.focus () // 获取焦点
}
})
2. 局部注册:
directives : {
指令名 : {
inserted ( el ) {
el.focus ()
}
}
}
----------------------------------------------------------------------------------------------------------------------
指令的值:
语法:在绑定指令时,可以通过 “ 等号 ” 的形式为指令 绑定 具体的参数值
(eg:<div v-color = " yanse " > 我是内容 </div> ;yanse 是 data 函数里定义的变量,比如 yanse = ' red ')
通过 binding.value 可以拿到 指令值 yanse ,指令值修改会 触发 update 函数
directives : {
color : {
inserted ( el , binding) { // 元素被添加到页面中时就立刻将 binding.value 赋值给 el.style.color
el.style.color = binding.value
} ,
update ( el , binding ) {
// 指令值 yanse 在被修改的时候,比如将 yanse 的值由 red 改为 blue,就会触发这个 update 函数,提供值变化后,dom 更新的逻辑
el.style.color = binding.value
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!