返回顶部
首页 > 资讯 > 精选 >Vue中sync修饰符的示例分析
  • 611
分享到

Vue中sync修饰符的示例分析

2023-06-15 01:06:44 611人浏览 独家记忆
摘要

这篇文章主要介绍Vue中sync修饰符的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1 、指令指令即 Directive,从字面意思理解就是我告诉你要做什么,就是发送了一个指令,然后由接收指令的人去做就好了

这篇文章主要介绍Vue中sync修饰符的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1 、指令

指令即 Directive,从字面意思理解就是我告诉你要做什么,就是发送了一个指令,然后由接收指令的人去做就好了。在 Vue 中的指令有个统一好认的格式,就是以 v- 开头的就是指令,如:

<div v-text="x"> </div> //v-text指定标签文本指令<div v-on:click="add"> <div> //v-on事件绑定指令

但并不是所有的指令都以 v- 开头,对于一些简写,也是指令,如

<img :src="x"> </img> //v-bind:src 的简写<button @click="add"> </button> //v-on:click 的简写

2 、修饰符

修饰符是与指令中的事件处理指令 v-on 息息相关的一个语法糖,所谓语法糖就是很 sweet,简单好用,在编程界就是能帮你做好的都帮你做了,只剩最简单的事留给你做。

在事件处理程序中,有一些非常常见的需求,例如 event.preventDefault() 阻止默认事件和 event.stopPropagation()阻止事件冒泡等等。因此 Vue 就把这些事件处理过程中常见的需求帮我们处理好了,在我们需要时告诉 Vue 一声,它就会自动帮我们阻止默认事件、阻止事件冒泡等。那么我们告诉 Vue 的途径就是 Vue 提供给我们的修饰符,修饰符是由点开头的指令后缀来表示的

以阻止 <a> 标签的点击默认刷新页面事件的 preventDefault 方法示例如下:

普通做法

<a href="" v-on:click=" rel="external nofollow" pe($event)">Vue点击链接</a> //vue中访问原始的DOM事件,可以用特殊变量 $event 把它传入方法,在原始 html 中是 event
// ... methods: {    pe(e){        e.preventDefault()    }}

使用修饰符

<a v-on:click.prevent>Vue点击链接</a> //prevent修饰符就等同于上述的 e.preventDefault()

由上述的小例可以看出,修饰符是不是个语法糖,帮我们把常用的需求提前写好了,用的时候说一声就行。当有事件处理程序时直接在后面继续写即可,如下:

<a href="" v-on:click.prevent=" rel="external nofollow" pp">Vue点击链接</a>
// ... methods: {    pp(){        console.log('不跳转页面执行事件')    }}

修饰符是有顺序地执行的,如上述的 v-on:click.prevent="pp",意思就是在点击时,先执行修饰符 prevent 的阻止默认事件,然后再执行后面的 pp 事件处理函数。

修饰符几乎是和事件 event 的相关处理函数一一对应的,根据事件的不同,对应不同事件的修饰符,如下所示分为几大类:

Vue中sync修饰符的示例分析

修饰符的来源和含义就是上述所述,至于具体有哪些,在实际用到时可去官网查找所需,有两个最最常用的需要记住,即 @click.stop 是阻止事件冒泡,@click.prevent 是阻止默认事件,@keypress.enter 是按键为回车事件。

3、 .sync 修饰符

.sync 修饰符相对来说比较特殊,因为其不是事件 event 原有的事件处理相关函数的演变,而是 Vue 自己定义的一个修饰符,如上述的修饰符分类中也将 .sync 分类为自定义事件的修饰符,那么这个自定义事件到底是什么事件呢?

这个事件对应的是 eventBus 事件,eventBus 事件是 mvc 中的一个模式,简单来说就是发布和订阅的过程,就是说有两方,甲方负责始终监听某个事件,乙方负责在需要的时候触发这个事件,甲方在监听到事件被触发时就执行某些操作。甲方就是订阅,乙方就是发布,双方就是发布和订阅模式。

那么在 Vue 中在什么时候会需要用到这种情况呢?

就是在 Vue 的组件在接受外部数据 props 时,Vue 规定,子组件在通过 props 接受外部数据后只有使用该数据的权利,但没有修改该属性的权利。因为,如果子组件修改了外部传来的数据,这样一来子组件和使用其的父文件都可以改来改去,在父组件和子组件都没有明显的改动来源,到最后都不知道这个数据是谁改的了,数据就不好控制了。因此 Vue 就规定组件只能有权使用 props 的属性,不得自己改变,那么若其想要改变,就必须通知该数据的真正拥有者改变,也就是使用该组件的父文件。

其使用的通知方式就是 eventBus 发布和订阅模式。

不使用 .sync

子组件触发事件,事件名格式必须是 update:myPropName ,用 $emit 函数触发

this.$emit('update:title', newTitle) //newTitle就是你想要修改props数据修改后的值

父组件可以监听那个事件并根据需要更新一个本地的数据属性

<myconponent :title="Ptitle" @update:title="Ptitle = $event" ></myconponent>//在父组件中监听该事件,该事件触发后传递的值以 $event 接收,$event === newTitle ,Ptitle是父组件的数据

或者是定义的接受函数的参数

<myconponent :title="Ptitle" @update:title="val => Ptitle = val" ></myconponent>//这时接收的值作为函数的参数

使用 .sync

上述的过程在实际需求中很常用,因此 Vue 就将父组件的监听定义成了一个传值时的修饰符,为 .sync ,上述代码使用 .sync 修饰符后为:

子组件(是一样的)

this.$emit('update:title', newTitle)

父组件

<myconponent :title.sync="Ptitle"></myconponent> //等同于上面的传值并监听

是不是很 sweet 呢?

4 、总结

.sync 的用法规则

组件不能修改 props 外部数据

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

$event 可以获取 $emit 的参数

Vue的优点

Vue具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快等优势,Vue中页面使用的是局部刷新,不用每次跳转页面都要请求所有数据和dom,可以大大提升访问速度和用户体验。

以上是“Vue中sync修饰符的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Vue中sync修饰符的示例分析

本文链接: https://lsjlt.com/news/276857.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue中sync修饰符的示例分析
    这篇文章主要介绍Vue中sync修饰符的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1 、指令指令即 Directive,从字面意思理解就是我告诉你要做什么,就是发送了一个指令,然后由接收指令的人去做就好了...
    99+
    2023-06-15
  • Vue中sync修饰符分析原理及用法示例
    目录不使用sync修饰符的代码示例使用sync修饰符的代码示例sync修饰符的原理前几天在看别人代码时,发现了sync修饰符的妙用,特记录其用法和原理如下。 不使用sync修饰符的代...
    99+
    2022-11-13
    Vue sync修饰符原理 Vue sync用法
  • vue中的.sync修饰符用法及原理分析
    目录.sync修饰符用法及原理例如.sync修饰符的用法总结需求描述解决方案.sync修饰符用法及原理 vue中我们经常会用v-bind(缩写为:)给子组件传入参数。 或者我们会给子...
    99+
    2024-04-02
  • 详解Vue的sync修饰符
    目录1 、指令2 、修饰符3、 .sync 修饰符4 、总结1 、指令 指令即 Directive,从字面意思理解就是我告诉你要做什么,就是发送了一个指令,然后由接收指令的人去做就好...
    99+
    2024-04-02
  • Vue.js中修饰符的示例分析
    这篇文章给大家分享的是有关Vue.js中修饰符的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、v-model的修饰符 v-model 是用于在表单表单元素上...
    99+
    2024-04-02
  • vue中v-model和.sync修饰符的区别
    目录前言一、v-model1. 作用2.v-model的本质3. v-model的特殊用法二、.sync修饰符1. .sync修饰符作用2. .sync修饰符本质总结.sync与v-...
    99+
    2024-04-02
  • vue中的事件修饰符介绍和示例
    目录1. 官方文档2. 说明+实例2.1 .stop2.2 .prevent2.3 .capture2.4 {keyCode | keyAlias}2.5 .native2.6 .o...
    99+
    2023-05-17
    vue修饰符 vue事件修饰符
  • vue中v-model指令与.sync修饰符的区别详解
    目录v-model .sync 细微之处的区别 总结功能作用场景: v-model <!--父组件--> <template> ...
    99+
    2024-04-02
  • vue事件修饰符源码分析
    本篇内容主要讲解“vue事件修饰符源码分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue事件修饰符源码分析”吧!在项目开发中遇到了vue的键盘事件,以下是项目的代码片段:<div c...
    99+
    2023-07-05
  • Vue中子组件向父组件传值以及.sync修饰符详析
    目录Vue中 常见的组件通信方式可分为三类1. 之前的写法2. .sync 修饰符总结 传送门:Vue中 状态管理器(vuex)详解及应用场景传送门:Vue中 $ attr...
    99+
    2022-11-16
    vue子组件向父组件传递数据 vue父组件获取子组件的值 子组件向父组件传递方法
  • vue修饰符v-model及.sync原理及区别详解
    目录v-model的原理.sync的原理v-model和.sync修饰符的区别总结作用场景:v-model的原理 v-model的本质,其实就是:value和@input事件的语法糖...
    99+
    2024-04-02
  • 一文浅析部分vue事件修饰符
    以上就是一文浅析部分vue事件修饰符的详细内容,更多请关注编程网其它相关文章!...
    99+
    2023-05-14
    vue修饰词
  • vue子组件通过.sync修饰符修改props属性方式
    目录子组件通过.sync修饰符修改props属性子组件修改父组件prop的几种方式常用方式取巧方式子组件通过.sync修饰符修改props属性 在vue子组件中,如果我们直接修改pr...
    99+
    2024-04-02
  • Vue.js按键修饰符及v-model修饰符示例详解
    目录一、按键修饰符(1)回车键按键修饰符示例(2)自定义按键修饰符示例二、v-model修饰符(1).lazy(2).number (3).trim一、按键修饰符 v-on...
    99+
    2023-05-18
    Vue.js v-model修饰符 Vue.js按键修饰符 Vue.js修饰符
  • 如何分析modifier修饰符
    这篇文章将为大家详细讲解有关如何分析modifier修饰符,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。修饰符总结 Modifiers        ...
    99+
    2023-06-02
  • vue中vue-cli的示例分析
    这篇文章将为大家详细讲解有关vue中vue-cli的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。正文首先,我们来说一下安装的东西吧!处于有头有尾的目的,还是几句...
    99+
    2024-04-02
  • Java变量类型和修饰符实例分析
    本文小编为大家详细介绍“Java变量类型和修饰符实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java变量类型和修饰符实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识...
    99+
    2024-04-02
  • python装饰器的示例分析
    这篇“python装饰器的示例分析”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“python装饰器的示例分析”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们...
    99+
    2023-06-06
  • Vue重要修饰符.sync对比v-model的区别及使用详解
    目录Vue 中的双向绑定Vue 中的 .syc 修饰符.sync 使用注意事项.sync 与 v-model的比较Vue 中的双向绑定 上一节中我们已经讨论过Vue中并没有真正的双向...
    99+
    2024-04-02
  • Vue中vuex的示例分析
    这篇文章主要介绍了Vue中vuex的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在 Vue.js 的项目中,如果项目结构简单, 父...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作