<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("dothis");
                },
                dodo: function () {
                    alert("dodo");
                }
            }
        });
    </script>

这样的话,会先弹出dothis 在弹出dodo,
如果用@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("dothis");
                },
                dodo: function () {
                    alert("dodo");
                }
            }
        });
    </script>

这样的话,只会弹出dothis

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐