当前位置: 首页 > Web前端 > vue.js

Vue指令和事件

时间:2023-03-31 22:26:24 vue.js

模板语法{{msg}}指令VUE自带13条指令1.v-html2.v-文本3。v-绑定4。v-show5.v-if6。v-else7。v-其他-if8。v-模型9。v-for10。v-on11。v-pre12。v-斗篷13。v-once自定义指令注意:自定义指令中的this点是window。一个指令定义对象可以提供如下的Hook函数(都是可选的):bind:只调用一次,当指令第一次绑定到元素上时。可以在这里进行一次性的初始化设置。inserted:绑定元素插入到父节点时调用(只保证父节点存在,不一定插入到文档中)。update:组件的VNode更新时调用,但也有可能发生在其子VNode更新之前。指令的值可能已更改,也可能未更改。但是可以通过比较更新前后的值来忽略不必要的模板更新//自定义焦点命令Vue.directive('focus',{inserted:function(el){//el表示绑定元素el。focus();}})//使用自定义指令//使用参数自定义自定义指令Vue.directive('color',{bind:function(el,bingding){//bingding表示绑定值el.focus();}})//使用带参数的自定义命令//要自定义本地指令,需要向VUE实例添加指令directives:{focus:{//指令的定义inserted:function(el){el.focus()}},color:{bind:function(el,bingding){el.style.backgroundColor=binding.value.color;}}}文本1.v-text2。v-html3。{{}}属性v-bind列:v-bind:classshorthand::class样式绑定对象形式设置

数组形式设置
//数组中的值需要在data中定义类样式的混合形式
v-if和v-show的意思:v-if控制dom节点控制元素的存在显示和隐藏元素;v-show是通过设置DOM元素的显示样式,block显示,none不隐藏;编译过程:v-if切换有一个部分编译/卸载的过程,内部在切换过程中适当销毁和重建事件监听器和子组件;v-show只是一个基于css的切换;编译条件:v-if是惰性的,如果初始条件为假则什么都不做;只有在第一次条件成立时才开始部分编译(编译缓存?编译后缓存,切换时部分卸载);v-show在任何条件下(无论第一个条件是否为真)都被编译,然后被缓存,DOM元素被保留;性能消耗:v-if有较高的切换消耗;v-show初始渲染消耗较高;基于以上区别,如果需要切换非常频繁,还是用v-show比较好;如果运行时条件很少改变,最好使用v-ifformv-modelformmodifierv-model:number//转换为数字v-model:trim//去掉前后空格v-model:lazy//转换输入事件改变事件循环v-for{{item}}{{index}}---{{item}}{{index}}---{{item}}//键是为了帮助VUE提高性能,事件绑定的基本写法:v-on:click缩写:@click事件修饰符Vue.js通过dot.表示的指令后缀来调用修饰符,可以在里面写多个修饰符系列。:事件。修饰符名称示例:@click.stop1。stop//防止冒泡2.prevent//防止默认行为3.capture//防止捕获4.self//只监听触发元素的事件5.once//只触发一次6.left//左键触发7.right//右按钮触发8.middle//中间滚轮触发键修饰符Vue允许在监听键盘事件时为v-on添加键修饰符示例:很难记住所有的keyCode,所以Vue为最常用的键提供了别名:1.enter2。选项卡3。delete(捕获“Delete”和“Backspace”键)4.esc5.space6.up7.down8.left9.right10.ctrl11.alt12.shift13.meta自定义键修改符:Vue.config.keyCodes.f1=112