让输入框自动获取焦点(每次刷新自动获取焦点)
javascript<template> <div> <h3>自定义指令</h3> <input ref="inp" type="text"> </div> </template> <script> export default { mounted(){ this.$refs.inp.focus() } } </script> <style> </style>1.全局注册指令
在main.js中全局注册指令
javascriptimport Vue from 'vue' import App from './App.vue' Vue.config.productionTip = false // 全局注册指令 // 第一个参数是指令名,第二个参数是指令的配置项(在配置项里可以写指令相关的钩子,相关的生命周期函数) Vue.directive('focus', { // inserted会在指令所在元素被插入到页面时触发 inserted(el) { // el就是指令所绑定的元素 el.focus() } }) new Vue({ render: h => h(App), }).$mount('#app')
javascript《!--在input标签中写上自定义指令 v-自定义的指令名 --> <template> <div> <h3>自定义指令</h3> <input v-focus ref="inp" type="text"> </div> </template> <script> export default { // mounted(){ // this.$refs.inp.focus() // } } </script> <style> </style>2.局部注册指令(只在当前组件范围使用)
javascript<template> <div> <h3>自定义指令</h3> <input v-focus ref="inp" type="text"> </div> </template> <script> export default { // mounted(){ // this.$refs.inp.focus() // } directives:{ // 指令名:指令的配置项 focus:{ // 这里同样也有个形参el inserted(el){ el.focus() } } } } </script> <style> </style>封装一个指令v-color
自定义指令 v-color ,然后在h1标签中写入v-color指令,但是如果指令颜色写固定为red的话,每个使用该指令的标签都是同样的颜色。
希望标签是不同颜色,将该自定义指令传入不同的值,在data中定义不同的值。
但是自定义指令中是拿不到传入指令的值的,所以必须通过另一个配置项binding,通过binding.value取得传入的指令的值
javascript<template> <div> <!--相当于给两个指令传入不同的值 --> <h1 v-color="color1">指令的值1测试</h1> <h1 v-color="color2">指令的值2测试</h1> </div> </template> <script> export default { data(){ return{ color1:'red', color2:'green' } }, directives:{ color:{ //1.inserted提供的是元素被添加到页面中的逻辑,直接修改数据是无法改变颜色的 // el形参表示的是传入的dom元素 inserted(el,binding){ // console.log(el,binding.value); // 如何拿到传递的不同的值?在binding配置对象中通过binding.value中拿到所对应的变量值 // binding.value就是指令的值 el.style.color = binding.value }, // update(el,binding){ // el.style.color = binding.value // } } } } </script> <style> </style>
自定义指令,全局,局部,注册
一雨方知深秋2024-12-08 21:13
相关推荐
天***88523 分钟前
Edge 浏览器离线绿色增强版+官方安装包,支持win7等系统漫游的渔夫12 分钟前
别再直接 `json.loads` 了!AI 返回的 JSON 坑位指南软件工程师文艺24 分钟前
从0到1:Claude Code如何用React构建CLI应用M ? A33 分钟前
Vue 迁移 React 实战:VuReact 一键自动化转换方案yuki_uix34 分钟前
重排、重绘与合成——浏览器渲染性能的底层逻辑止观止1 小时前
拥抱 ESNext:从 TC39 提案到生产环境中的现代 JS沃尔威武1 小时前
调试黑科技:Chrome DevTools时间旅行调试实战yuki_uix1 小时前
虚拟 DOM 与 Diff 算法——React 性能优化的底层逻辑时寒的笔记1 小时前
js逆向7_案例惠nong网yuki_uix1 小时前
从输入 URL 到页面显示——浏览器工作原理全解析







