vue.js中修饰符.stop的用法

vue.js中修饰符.stop的用法

  • 使用vue阻止子级元素的click事件冒泡,用@click.stop
  • 例如:

    <div id="app">
        <div v-on:click="dodo">
            <button v-on:click="doThis">阻止单击事件继续传播</button>
        </div>
    </div>
     <script>
        var app = new Vue({
            el: "#app",
            data: {
                name: "Vue.js"
            },
            methods: {
                doThis: function () {
                    alert("noclick");
                },
                dodo: function () {
                    alert("dodo");
                }
            }
        });
    </script>
  • 再例如:用@click.stop

   <div id="app">
        <div v-on:click="dodo">
            <button v-on:click.stop="doThis">阻止单击事件继续传播</button>
        </div>
    </div>

    <script>
        var app = new Vue({
            el: "#app",
            data: {
                name: "Vue.js"
            },
            methods: {
                doThis: function () {
                    alert("noclick");
                },
                dodo: function () {
                    alert("dodo");
                }
            }
        });
    </script>
  • 结果:只弹出“noclick”,就不会触发dodo这个方法.
  • 在项目中用到额例子:
    <div class="taskList_con" @click="goreportlist('接受')">
      <p class="title">任务编号:YCWL20180315</p>
      <div class="content">
        <div class="divided clear">
          <div class="img">
            <img src="../../assets/img/renwuqingdan_icon_shi_pressed@3.png">
          </div>
          <div class="con_first">
            <span>霸州</span>
          </div>
          <div class="con_second">9:20,03-15</div>
        </div>
        <div class="divided clear">
          <div class="con_first">寿光羊口</div>
          <div class="con_second">14:20,03-15</div>
          <div class="button_div">
          <button style="background-color:#FE6E00;" @click.stop="receive" class="button">接受</button>
          </div>
        </div>
      </div>
    </div>
    在methods下:
     receive(){
        this.$router.push({
        name:'checkprocess',
      })
    },
    goreportlist(name) {
        this.$router.push({
          name: "taskdetail"
        });
    }
  • 结果:点击div里任意部分可跳转到taskdetail详情页面,但是点击接受按钮跳转到checkprocess安检列表页面。用@click.stop阻止了事件冒泡的发生。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值