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

vue修饰符

表单修饰符

1、lazy

<input type = "text" v-model.lazy = "value">
<p>{{value}}</p>

lazy跟懒加载类似,只有再说鼠标离开光标的时候才会触发,也就是说在input事件的oninput书法的时候不会赋值,当onchange触发的时候才会进行赋值

2、trim

<input type = "text" v-model.trim = "value">

过滤掉输入内容的前后空格

3、number

<input v-model.number = "age" type = "number"

会将输入的值转换为数值类型

事件修饰符

1、stop

<div @click="shout(2)"><button @click.stop="shout(1)">ok</button>
</div> //只输出1

阻止了事件冒泡,相当于调用了event.stopPropagation方法

2、prevent

<form v-on:submit.prevent="onSubmit"></form>

阻止了事件默认行为,相当于调用了event.preventDefault方法

3、self

<div v-on:click.self="doThat">...</div>

只有在event.target是当前元素自身时触发

使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,用
v-on:click.prevent.self 会阻止所有的点击,而 v-on:click.self.prevent 只会阻止对元素自身的点击

4、once

<button @click.once="shout(1)">ok</button>

绑定的事件只能触发一次

5、capture

 <div @click.capture="shout(1)">obj1<div @click.capture="shout(2)">obj2<div @click="shout(3)">obj3<div @click="shout(4)">obj4</div></div></div></div>
// 输出结构: 1 2 4 3

让事件触发从包含这个元素的顶层开发往下依次触发

6、passive

<!-- 滚动事件的默认行为 (即滚动行为) 将会立即触发 -->
<!-- 而不会等待 `onScroll` 完成 -->
<!-- 这其中包含 `event.preventDefault()` 的情况 -->
<div v-on:scroll.passive="onScroll">...</div>

这个我们以移动端监听元素滚动事件说明,在监听元素滚动事件的时候,会一直触发onscroll事件让页面变的越来越卡,因此在我们使用这个修饰符后,相当于给onscroll事件增加了.lazy修饰符

7、native

<my-component v-on:click.native="doSomething"></my-component>

让组件变成像html内置标签那样监听根元素的原生事件,否则组件上使用v-on只会监听自定义事件

鼠标按钮修饰符

1、left、right、middle

<button @click.left="shout(1)">ok</button>
<button @click.right="shout(1)">ok</button>
<button @click.middle="shout(1)">ok</button>

鼠标按钮修饰符针对的就是鼠标的左键(left)、右键(right)和中键(middle)的点击操作

键盘修饰符

1、enter:回车按键

2、delete:删除按键

3、space:空格按键

4、tab:tab按键

5、esc:esc按键

6、ctrl:ctrl按键

7、shift:shift按键

8、alt:alt按键

9、直接用按键的代码来做修饰符(如:enter为13)

<!-- 键修饰符,键别名 -->
<input @keyup.enter="onEnter">
<!-- 键修饰符,键代码 -->
<input @keyup.13="onEnter">
Vue.config.keyCodes = {v: 86,f1: 112,// camelCase 不可用mediaPlayPause: 179,// 取而代之的是 kebab-case 且用双引号括起来"media-play-pause": 179,up: [38, 87]使用方式:
<input type="text" @keyup.media-play-pause="method">}

v-bind修饰符

async

//父组件
<comp :myMessage="bar" @update:myMessage="func"></comp>
func(e){this.bar = e;
}
//子组件
func2(){this.$emit('update:myMessage',params);
}简写:
//父组件
<comp :myMessage.sync="bar"></comp> 
//子组件
this.$emit('update:myMessage',params);

能对props进行一个双向绑定

注意:

1、使用async的时候,自组件传递的事件名必须格式必须为update:value, 其中value必须与自组件中props中声明的名称完全一致

2、将v-bind.sync用在一个字面量的对象上,例如v-bind.sync=“{title: doc.title}”, 是无法正常工作的

http://www.lryc.cn/news/466184.html

相关文章:

  • Oracle里面,with ... as 用法介绍
  • 一个简单的Qt Console Application计算练习程序
  • windows文件拷贝给wsl2的Ubuntu
  • vivado 采用 SSI 器件进行设计
  • Lua环境安装
  • 浏览器控制的无线开关
  • Docker部署SSM项目及避坑指南
  • 多线程代码案例:单例模式/阻塞队列/线程池/定时器
  • Ruby CGI Cookie
  • linux中取消anaconda默认使用base环境
  • 江门中微子到底是做什么的?
  • React源码03 - React 中的更新
  • 【Hive实战】Hive MetaStore升级调研(Mysql)
  • 优化漏洞扫描流程以保障企业数字化业务安全
  • 【大数据算法】一文掌握大数据算法之:大数据算法分析技术。
  • 使用AITemplate和AMD GPU的高效图像生成:结合Stable Diffusion模型
  • 基于yolov10的驾驶员抽烟打电话安全带检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面
  • 虚拟机网络设置为桥接模式
  • Numpy基础02
  • Elasticsearch是做什么的?
  • Java中消息队列
  • 高频面试手撕
  • Spring Boot 3.3 【八】整合实现高可用 Redis 集群
  • 循环控制结构穷举 同构数
  • 主机本地IP与公网IP以及虚拟机的适配器和WSL发行版的IP
  • @MassageMapping和@SendTo注解详解
  • 2.1_Linux发展与基础
  • c#子控件拖动父控件方法及父控件限在窗体内拖动
  • Redis --- 第八讲 --- 关于主从复制哨兵
  • 【数据结构】时间和空间复杂度-Java