vue .sync修饰符和v-model区别,vue中sync作用

  vue .sync修饰符和v-model区别,vue中sync作用

  的。同步修改器是Vue所有修改器中比较难懂的一个。这篇文章将带你走近。同步,你会发现其实是一回事。修饰语与指令密切相关。在这里,我们将解释的含义和用法。从指令修饰符同步。从简单到深入同步修改器。

  

目录

   1,指令2,修饰符3,同步修改器4,摘要

  

1 、指令

  指令指令,字面意思就是我告诉你做什么,也就是只要发出指令,然后收到指令的人就会去做。Vue中的指令有统一可识别的格式,即以v-开头的指令,如:

  Div-text= x/div//v-text指定标签文本指令

  Div-on: click= add div//v-on事件绑定指令

  但并非所有指令都以v开头。对于某些缩写,它们也是说明,例如

  img:src= x /img//v-bind:src的简称

  button @ click= add /button//v-on:click的简称

  

2 、修饰符

  修饰符是与指令中的事件处理指令v-on密切相关的语法糖。所谓语法糖很甜,简单好用。在编程的世界里,所有能帮你做好的事情都已经为你做好了,只有最简单的事情留给你。

  在事件处理程序中,有一些非常常见的要求,比如防止默认事件的event.preventDefault()和防止事件冒泡的event.stopPropagation()。因此,Vue帮助我们处理这些事件过程中的常见需求。当我们需要它时,我们可以告诉Vue,它会自动帮助我们停止默认事件,防止事件冒泡。那么我们告诉Vue的方式就是Vue提供的修饰符,用点号开头的指令后缀来表示。

  防止选项卡单击默认刷新页面事件的preventDefault方法示例如下:

  惯例

  href= v-on:Click= rel= external no follow PE($event) vue点击链接/a //vue访问原来的DOM事件,可以使用特殊变量$ event将其传入方法,在原来的HTML中是event。

  //.

  方法:{

  pe(e){

  预防默认()

  }

  }

  使用修饰符

  a v-on:click . prevent值单击链接/a//preventmodifier相当于上面的e.preventDefault()

  从上面的例子可以看出,修饰语是不是语法糖,可以帮助我们提前把常用的要求写出来,用的时候说出来就行了。当有事件处理程序时,可以直接在后面继续写,如下:

  a href= v-on:Click . prevent= rel=外部nofollow pp vue单击链接/a

  //.

  方法:{

  pp(){

  Console.log(不要跳转到执行事件的页面)

  }

  }

  修饰符是顺序执行的,比如上面的v-on:click.prevent=pp ,意思是点击时,首先执行修饰符prevent的默认事件,然后执行后续的pp事件处理程序。

  修饰语与事件event的相关处理函数几乎是一一对应的。根据事件的不同,不同事件对应的修饰语可以分为如下几种:

  修饰语的来源和意义,上面已经说了。至于具体的,你可以在实际使用的时候去官网找。有两个最常用的要记住,就是@click.stop是防止事件冒泡,@click.prevent是防止默认事件,@keypress.enter是按回车键。

  

3、 .sync 修饰符

  的。sync修饰符比较特殊,因为它不是event事件原有的事件处理相关函数的演化,而是Vue自己定义的修饰符。例如,上面的修饰语分类也分类。sync作为一个自定义事件的修改器,那么这个自定义事件是一个什么样的事件呢?

  该事件对应于eventBus事件,是MVC中的一种模式。简单来说就是发布和订阅的过程。也就是说,有两方。甲方负责始终监控一个事件,乙方负责在必要时触发该事件。当甲方监测到事件被触发时,甲方将执行某些操作。甲方是订阅,乙方是发布,双方都是发布和订阅模式。

  那么Vue什么时候会需要这种情况呢?

  即Vue的组件接受外部数据道具时,Vue规定子组件只有通过道具使用外部数据的权利,而没有修改该属性的权利。因为,如果子元件修改了外部数据,则子元件和使用它的父文件都可以更改。父组件和子组件中没有明显的变更源,最后谁也不知道是谁更改了数据,所以数据很难控制。所以Vue规定一个组件只能使用道具的属性,不能自行更改。如果它想改变它,它必须通知数据的真正所有者来改变它,即使用组件的父文件。

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

  请勿使用。同步

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

  这个。$ emit (update: title ,new title)//new title是你要修改的道具数据的修改值。

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

  my component:title= pt title @ update:title= pt title=$ event /my component

  //在父组件中侦听此事件。事件触发后传递的值被接收为$event,$ $event===newTitle,Ptitle是父组件的数据。

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

  my component:title= pt title @ update:title= val=pt title=val /my component

  //此时收到的值作为函数的参数

  使用。同步

  上面的过程在实际需求中是常用的,所以Vue在传值的时候把对父组件的监控定义为一个修饰符,就是。同步。在使用。sync修改器,上面的代码是:

  子组件(相同)

  这个。$emit(update:title ,newTitle)

  父组件

  my component:title . sync= pt title /my component//相当于上面的值传递和侦听。

  是不是很甜?

  

4 、总结

  的使用规则。同步

  1.组件不能修改道具的外部数据。

  2.this.$emit可以触发事件并传递参数。

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

  这就是Vue的同步修改器的细节。更多关于Vue的同步修改器的信息,请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: