var app = new Vue({ e..._js click.stop">
当前位置:   article > 正文

@click.stop和@click.prevent区别_js click.stop

js click.stop

 

  • click.stop

     

stop:指的是阻止父组件(节点)的事件冒泡。。。

  1. <div id="app">
  2. <div class="box" @click="box()">
  3. <div class="box-child" @click="boxchild()">
  4. </div>
  5. </div>
  6. </div>
  7. var app = new Vue({
  8. el: "#app",
  9. data: {
  10. name: "Vue.js"
  11. },
  12. methods: {
  13. box: function () {
  14. alert("this is box event");
  15. },
  16. boxchild: function () {
  17. alert("this is boxchild event");
  18. }
  19. }
  20. });

运行结果先alert(boxchild)在alert(box)

如果用@click.stop,此时子组件(节点)会阻止父组件(节点)的click方法执行,即阻止父节点冒泡

  1. <div id="app">
  2. <div @click="box()">
  3. <div @click.stop="boxchild()">
  4. </div>
  5. </div>
  6. </div>
  7. var app = new Vue({
  8. el: "#app",
  9. data: {
  10. name: "Vue.js"
  11. },
  12. methods: {
  13. box: function () {
  14. alert("this is box event");
  15. },
  16. boxchild: function () {
  17. alert("this is boxchild event");
  18. }
  19. }
  20. });

那结果就值alert(boxchild)了

  • click.prevent

   阻止事件的默认行为,比如click,blur,change。。。

想去酒吧,就得想办法阻止学习,prevent登场。。(阻止默认学习的惯性思维)

<a href="http://gostudy.com" @click.prevent="gobar">就不跳转,我要去gobar</a>

结果愿望实现了。。。

 

两者有点相似,click.stop是阻止父节点事件的冒泡,click.prevent是阻止自身默认事件的执行,可以自定义方法,想干嘛干嘛。。。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/79417
推荐阅读
相关标签
  

闽ICP备14008679号