vue中的修饰符作用详细讲解

2023-11-19

一、Vue的修饰符是什么

Vue中的修饰符分为以下五种:

  • 表单修饰符;
  • 事件修饰符;
  • 鼠标按键修饰符;
  • 键值修饰符;
  • v-bind修饰符。

二、修饰符的作用

1、表单修饰符

修饰符 作用 使用
lazy 填完信息,光标离开标签的时候,才会将值赋予给value <input type="text" v-model.lazy="value">
trim 自动过滤用户输入的首空格字符,中间的空格不会过滤 <input type="text" v-model.trim="value">
number 自动将用户输入的值转为数值类型,如果不能被parseFloat解析,会返回原来的值 <input v-model.number="age" type="number">

2、事件修饰符

修饰符 作用 使用
stop 阻止了事件冒泡 ,相当于调用了event.stopPropagation <div @click="shout(2)"> <button @click.stop="shout(1)">ok</button> </div>//只输出1
prevent 阻止了事件的默认行为,相当于调用了event.preventDefault方法 <form v-on:submit.prevent="onSubmit"></form>
once 绑定了事件以后只能触发一次,第二次就不会触发 <button @click.once="shout(1)">ok</button>

3、鼠标按钮修饰符

left左键点击、right右键点击、middle中键点击

1

2

3

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

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

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

4、键盘修饰符

键盘修饰符用来修饰键盘事件(onkeyup,onkeydown)的,有如下:

  • 普通键(enter、tab、delete、space、esc、up…)
  • 系统修饰键(ctrl、alt、meta、shift)

1

2

// 只有按键为keyCode的时候才触发

<input type="text" @keyup.keyCode="shout()">

还可以通过以下方式自定义一些全局的键盘码别名

1

Vue.config.keyCodes.f2 = 113

5、v-bind修饰符

props设置自定义标签属性,避免暴露数据,防止污染HTML结构

1

<input id="uid" title="title1" value="1" :index.prop="index">

三、常用的应用场景

修饰符 应用场景
.stop 阻止事件冒泡
.native 绑定原生事件
.once 事件只执行一次
.self 将事件绑定在自身身上,相当于阻止事件冒泡
.prevent 阻止默认事件
.caption 用于事件捕获
.once 触发一次
.keyCode 监听特定键盘按下
.right 右键

四.Vue 中的 .sync 修饰符的作用

 

vue 修饰符sync的功能是:当一个子组件改变了一个 props的值时,这个变化也会同步到父组件中所绑定。 通俗的说:.sync修饰符可以实现子组件与父组件的双向绑定,并且可以实现子组件同步修改父组件的值。

vue规则:

1.组件不能修改外部数据

2.this.$emit可以突发事件,并传参

3.$event可以获取$emit的参数

一个父组件app,一个子组件helloworld,子组件通过props接收父组件传过去的title,子组件通过$emit传给父组件,按照原来的写法,父组件@update:title接收子组件修改的值

通过vue中的.sync修饰符可以实现子组件与父组件的双向绑定,实现子组件同步修改父组件的值。

<template>
  <div id="app">
    <HelloWorld :title="doc.title" :content="doc.content" @update:title="doc.title = $event" @update:content="doc.content = $event"></HelloWorld>
    <HelloWorld v-bind.sync="doc"></HelloWorld>
  </div>
</template>

<script>
import HelloWorld from './components/HelloWorld.vue'

export default {
  name: 'App',
  components: {
    HelloWorld
  },
  data() {
    return {
      title: '初始标题',
      doc: {
        title: '初始标题',
        content: '初始内容',
      }
    }
  }
}
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>
<template>
  <div class="hello">
    <h1>{{ title }}</h1>
    <div>{{ content }}</div>
    <button @click.left="changeTitle">修改标题</button>
    <button @click.right="changecontent">修改内容</button>
  </div>

</template>

<script>
export default {
  name: 'HelloWorld',
  props: {
    title: {
      type: String
    },
    content: {
      type: String
    }
  },
  methods: {
    changeTitle() {
      this.$emit('update:title', '新标题')
    },
    changecontent() {
      this.$emit('update:content', '新内容')
    }
  }
}
</script>

<style scoped>
</style>
<template>
  <div class="hello">
    <h1>{{ title }}</h1>
    <div>{{ content }}</div>
    <button @click="changeTitle">修改标题</button>
    <button @click="changecontent">修改内容</button>
  </div>

</template>

<script>
export default {
  name: 'HelloWorld',
  props: {
    title: {
      type: String
    },
    content: {
      type: String
    }
  },
  methods: {
    changeTitle() {
      this.$emit('update:title', '新标题')
    },
    changecontent() {
      this.$emit('update:content', '新内容')
    }
  }
}
</script>

<style scoped>
</style>

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue中的修饰符作用详细讲解 的相关文章

随机推荐

  • RK3588 添加ROOT权限

    一 ROOT简介 ROOT权限是Linux和Unix系统中的超级管理员用户帐户 该帐户拥有整个系统的最高权利 可以执行几乎所有操作 ROOT就是获取安卓系统中的 最高用户权限 以便执行一些需要高权限才能执行的操作 包括卸载系统自带程序 刷机
  • openswan pluto代码分析--(1)pluto简介

    pluto简介 pluto是一个openswan中的守护进程 提供IKEv1服务 Pluto通信消息 网卡数据报文消息 whack命令的消息 内核通信消息 接下来分别介绍上面三种通信消息 1 网卡数据报文消息 打开UDP500和4500端口
  • Windows Teams - Visual Studio Code 初始化工程

    使用VIsual Studio Code 在clone完Teams的demo的代码 执行gulp命令的时候报错 gulp File C Users XXX AppData Roaming npm gulp ps1 cannot be loa
  • 硬件基础之继电器

    一 技术理论 继电器 Relay 是一种电子控制器件 它具有控制系统 又称输入回路 和被控制系统 又称输出回路 通常应用于自动控制电路中 它实际上是用较小的电流去控制较大电流的一种 自动开关 如下图 因为继电器是由线圈和触点两部分组成 所以
  • 图 - Java实现无向带权图的邻接矩阵表示法

    图 Java实现无向带权图的邻接矩阵表示法 1 图 1 1 图的介绍 图 Graph 是一种复杂的非线性表结构 图中的元素我们就叫做顶点 vertex 图中的一个顶点可以与任意其他顶点建立连接关系 我们把这种建立的关系叫做边 edge 跟顶
  • ORcad Capture CIS元件库管理

    当电子元器件数量多到一定程度的时候 所有器件都集中在一个library里杂乱无章 使用起来相当不方便 时间长了也很容易把相似的器件封装混淆 如何规范化整理 就成了一个让人头疼的问题 还有就是贴片时硬件工程师都要面对一个整理BOM的问题 小公
  • TF卡被格式化后怎么恢复?格式化后恢复方法

    TF卡格式化后怎么修复 说起TF卡大家应该都不会陌生 现在很多的电子设备都会使用TF卡作为存储设备 但如果大家在使用TF卡如果有不当操作 也时常会把TF卡格式化后 这时一定要注意TF卡格式化后不要存入新的文件 否则视频和照片被覆盖了就没办法
  • buuctf——SecretFile

    进来就看见有大佬被挂在黑页 F12查看源码看到在下面有个黑化了的标签藏得挺深 Archive room php 然后网页中间有个 不知道的还以为在FBI warning 点进去看看 注意到直接来到了end php 但是在上一页的源码这个se
  • 复制虚拟机之后网关重启问题解决

    在复制完成之后没有可以连接的IP地址 于是百度寻求解决方案 根据找到的方案中 实际解决办法如下 1 输入以下命令 清空该文件内容 echo gt etc udev rules d 70 persistent rules 2 删除该文件 或者
  • 谷歌报错

    由于修改了一些打包配置文件导致页面跳转失败和页面资源加载失败 错误如下 在添加了vue router的情况下 使用了base导致页面加载失败 解决 合作开发中修改了打包配置导致失败 如 非生产环境下改为 即可 ps vue cli版本4 0
  • las点云数据格式

    LIDAR Data LIDAR数据类似于带有激光的RADAR 是光检测和测距的缩写 laspy库提供了python API 用于读取 写入和操作一种流行的用来存储LIDAR数据的 LAS文件 LAS文件是根据几种规格打包的二进制文件 La
  • MATLAB算法实战应用案例精讲-【自然语言处理】语义分割模型-DeepLabV3

    目录 1 DeepLab系列简介 1 1 DeepLabV1 1 1 1创新点 1 1 2 动机 1 1 3 应对策略 1 2 DeepLabV2
  • PowerDesigner显示Comment注释

    PowerDesigner默认显示的列是Name及类型 如下图示 现在需要显示注释列 以便使得ER图更加清晰 但是PowerDesigner勾选Comment显示没有效果 所以通过以下几步来处理 双击表 弹出表属性对话框 切到Columns
  • Java安全知识share

    这里简单的介绍一下自己创建的知识星球 为什么要用知识星球呢 一方面他有APP然后方便使用里面的文章标签等功能 另一方面可能有一点点 哈哈哈 总的来说是方便使用 该知识星球包括Java相关的安全知识和其他相关的安全知识php nodejs C
  • labuladong的算法小抄pdf_真漂亮!这份GitHub上爆火的算法面试笔记,助你圆满大厂梦...

    前言 Github作为程序员们的后花园 一直以来都是程序员最喜欢逛逛 学习的地方 小编也不例外 最近看到一份对标BAT等一线大厂的算法面试笔记 已经标星68 K了 很是惊讶 看了一下 觉得知识点整理得非常的详细 也不愧能获得这么多星 资料已
  • Nginx配置及使用个人总结

    Nginx配置及使用个人总结 文章目录 Nginx配置及使用个人总结 1 前言 2 个人使用简单模板文件 3 常用nginx命令 1 前言 根据使用场景 可能会将前后端分离 一些小的工具式web分离反而麻烦 直接打成一个程序包更好 这时Li
  • jdk1.8笔记(1)-函数式接口

    文章目录 1 函数式接口 1 1 概念 1 2 格式 1 3 FunctionalInterface注解 例子 2 函数式编程 2 1 Lambda的延迟执行 2 2 使用Lambda作为参数和返回值 3 常用的函数式接口 3 1 Supp
  • C++ 嵌套类使用

    C 嵌套类 1 嵌套类的名字只在外围类可见 2 类的私有成员只有类的成员和友元可以访问 因此外围类不可以访问嵌套类的私有成员 嵌套类可以访问外围类的成员 通过对象 指针或者引用 3 一个好的嵌套类设计 嵌套类应该设成私有 嵌套类的成员和方法
  • 【云知识】云计算平台都有那些,涨涨云概念

    2023年 第36周 给自己一个目标 然后坚持总会有收货 不信你试试 云计算平台是指为企业和个人提供云计算服务的基础架构和环境 它提供了一系列的硬件 软件和网络设施 用于支持应用程序的部署 管理和运行 以及数据的存储 处理和传输 目录 一
  • vue中的修饰符作用详细讲解

    一 Vue的修饰符是什么 Vue中的修饰符分为以下五种 表单修饰符 事件修饰符 鼠标按键修饰符 键值修饰符 v bind修饰符 二 修饰符的作用 1 表单修饰符 修饰符 作用 使用 lazy 填完信息 光标离开标签的时候 才会将值赋予给va