vue修饰符简略总结[通俗易懂]

vue修饰符简略总结[通俗易懂]vue修饰符主要分为:1.表单修饰符;2.事件修饰符;3.按键修饰符,其中包含特殊修饰符:系统修饰键,.exact修饰符;4.鼠标按钮修饰符;5.其他修饰符,包含:.sync,.prop,.camel一、表单修饰符(用法一致为表单元素使用v-model时加修饰符:v-model.修饰符)1).trim:去除仅首尾的空格2).lazy…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

vue修饰符主要分为:

1.表单修饰符;

2.事件修饰符;

3.按键修饰符,其中包含特殊修饰符:

        系统修饰键,

        .exact修饰符;

4.鼠标按钮修饰符;

5.其他修饰符,包含:

        .sync,

        .prop,

        .camel

一、表单修饰符(用法一致为表单元素使用v-model时加修饰符:  v-model.修饰符)

        1) .trim: 去除仅首尾的空格

        2) .lazy: 不让表单外双向绑定的数据实时接收表单内数据并更新,而是blur(失焦)后更新

        3) .number: 如果你先输入数字,那它就会限制你输入的只能是数字;如果你先输入字符串则该修饰符失效

二、事件修饰符(特定的被修饰事件.修饰符)

        1) .stop: 阻止事件冒泡(相当于event.stopPropagation()方法)

        2) .prevent: 阻止默认行为(例如submit的提交行为,相当于event.preventDefault()方法)

        3) .self: 用self修饰符的元素不会受其他关联元素上的事件所影响(例如事件冒泡机制)

                注意: @click.prevent.self 会阻止所有的点击,而 @click.self.prevent 只会阻止对元素自身的点击。也就是从左往右判断

        4) .once: 使被修饰的事件仅触发一次

        5) .capture: 捕获.即 使被修饰事件改变默认的冒泡阶段触发,而是在捕获阶段触发

        6) .passive: 移动端用到的,防止监听元素滚动事件时网页卡顿(类似.lazy防止热更新), 大大减少事件触发,提升移动端性能

        7) .native: 针对原生事件在外来组件上无法生效的问题,可以理解为该修饰符的作用就是把一个vue组件转化为一个普通的HTML标签. 注意:使用.native修饰符来操作普通HTML标签是会令事件失效的

三、按键修饰符(键盘事件.修饰符)

        1) .keyCode: 让键盘事件在指定的keyCode值被触发时触发,至于keyCode值,可以监听键盘事件去methods上打印e.target查阅,也可查看ASCII码表

        2) 为了方便我们使用,vue给一些常用的键提供了别名

                普通键:

  • .enter
  • .tab
  • .delete (捕获“删除”和“退格”键)
  • .esc
  • .space
  • .up
  • .down
  • .left
  • .right

                系统修饰键:

  • .ctrl
  • .alt
  • .shift
  • .meta

        3) .exact: 主要用来制作快捷键

四、其他修饰符

1) .sync:用法:

//父组件
<comp :myMessage.sync="bar"></comp> 
//子组件
this.$emit('update:myMessage',params);

Jetbrains全家桶1年46,售后保障稳定

简化了父子传递事件时父组件的代码,当然方便之余 相应的也有一定限制:

  1. 使用sync的时候,子组件传递的事件名必须为update:value,其中value必须与子组件中props中声明的名称完全一致
  2. 注意带有 .sync 修饰符的 v-bind 不能和表达式一起使用 (例如 v-bind:title.sync=”doc.title + ‘!’” 是无效的)。取而代之的是,你只能提供你想要绑定的属性名,类似 v-model。
  3. 将 v-bind.sync 用在一个字面量的对象上,例如 v-bind.sync=”{ title: doc.title }”,是无法正常工作的,因为在解析一个像这样的复杂表达式的时候,有很多边缘情况需要考虑。

2) .prop: 用于纠正所绑定的值绑定到property,避免绑定到dom节点的attribute

<input id="uid" title="title1" value="1" :index.prop="index">
//input.index === this.index
//input.attributes.index === undefined

3) .camel: 也是起到一个纠正作用,由于HTML特性不区分大小写

<svg :viewBox="viewBox"></svg>

实际渲染效果:

<svg viewbox="viewBox"></svg>

这将导致渲染失败,因为 SVG 标签只认 viewBox,却不知道 viewbox 是什么。
如果我们使用.camel修饰符,那它就会被渲染为驼峰名。
另,如果你使用字符串模版,则没有这些限制:

new Vue({
  template: '<svg :viewBox="viewBox"></svg>'
})

本篇大部分参考了https://segmentfault.com/a/1190000016786254 ,其中有详细解说和大量案例。此文仅供速查

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/227285.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 测试开发需要学习的知识结构[通俗易懂]

    努力成为一个优秀的测试开发从业者,加油!!!一些视频链接:我这有一些软件测试的视频,你可以点开看看。转行互联网测试需要哪些技能?-假装在测试的回答-知乎作为一名软件测试人员,有哪些网站是你应该多多关注的,哪些书籍是你必须要看的?-假装在测试的回答-知乎白盒与黑盒测试什么区分1、黑盒测试  黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检…

    2022年4月11日
    53
  • django 聚合函数_sql聚合函数的用法

    django 聚合函数_sql聚合函数的用法前言orm模型中的聚合函数跟MySQL中的聚合函数作用是一致的,也有像Sum、Avg、Count、Max、Min,接下来我们逐个介绍聚合函数所有的聚合函数都是放在django.db.models

    2022年7月31日
    7
  • vue和Jquery差别之动态添加删除元素

    vue和Jquery差别之动态添加删除元素vue和jquery都是耳熟能详的,我就不多赘述了,直接上正餐吧为了展示他们在动态添加删除元素的区别,我分别用他们写了同一个功能的小例子。这个例子要求要在输入框中输入字符串,按回车键后增加一行。点击蓝色按钮,数字增加。点击“X”按钮删除整行。很明显的是jquery的代码行数更为少,但是他的灵活性和代码逻辑性比vue’差。代码如下,有可以优化的地方望指正。

    2022年10月15日
    4
  • java中scanner的作用_Java中的Scanner类有什么作用[通俗易懂]

    java中scanner的作用_Java中的Scanner类有什么作用[通俗易懂]介绍:简单来说,Scanner就是用来获取用户在控制台输入的字符串,也可以获取一个文件中的字符串。java.util.Scanner是Java5的特征,一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。使用方法介绍:1、使用不同的next方法将得到的标记转换为不同类型的值,比如说要从获控制台取一个输入字符串中的int类型的数字,使用nextInt。代码示例:Scanners…

    2022年7月20日
    14
  • fastadmin 自定义搜索

    fastadmin 自定义搜索PHP代码$offset=input(‘offset’);$limit=input(‘limit’);//获取搜索框的值$filter=input(‘filter’);if($filter){$filter=urldecode($filter);$filter=json_decode($filter,TRUE);foreach($filteras$k=>$v){$where[$k]=[‘like’,”%{$v}%”];}.

    2022年7月13日
    87
  • android课程设计小项目_app界面模板

    android课程设计小项目_app界面模板1课程格子试用:建立课程表又是一年开学季,相信有不少太平洋的读者都已经结束了暑假迈进了校门,脱离高三党的同学也为数不少。作为一个大学新生,你在未来数年里想要找基友也好,泡妹子也好,都免不掉主要的任务——学习。在大学里学习和高中完全不同,没有人像高中那样天天提醒你今天要上什么课。这里小编为大家推荐一款Android平台上的课程表App课程格子,好让大家记得什么时候该上什么课。软件名称:…

    2022年10月4日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号