vue基本知識 阻止默認行為和事件冒泡

`
一,事件
$event:vue的內置對象

原生js阻止事件冒泡

<body>
    <div id="myApp" @click="show2()">
        <div @click="show1()">
            <button @click="show($event)">點我</button>
        </div>
    </div>
</body>
<script>
        window.onload=function(){
            let vm=new Vue({
                el:'#myApp',
                data:{ 
                },
                methods:{ 
                    show(e){
                        e.stopPropagation();//原生阻止冒泡事件
                        console.log("111")
                    },
                    show1(){
                        console.log("222")
                    },
                    show2(){
                        console.log("333")
                    },
                }
            });
        }
    </script>

vue阻止事件冒泡

<body>
    <div id="myApp" @click="show2()">
        <div @click="show1()">
            <button @click.stop="show">vue點我</button>
        </div>
    </div>
</body>
<script>
        window.onload=function(){
            let vm=new Vue({
                el:'#myApp',
                data:{ 
                },
                methods:{ 
                    show(){
                      console.log("111")
                    },
                    show1(){
                        console.log("222")
                    },
                    show2(){
                        console.log("333")
                    },
                }
            });
        }
    </script>
總結:
1.js阻止事件冒泡,獲取點擊對象,  e.stopPropagation();
2.vue阻止事件冒泡@click.stop="show",
3.vue有許多的內置屬性

v-on的修飾符

<!-- 方法處理器 -->
<button v-on:click="doThis"></button>
<!-- 對象語法 (2.4.0+) -->
<button v-on="{ mousedown: doThis, mouseup: doThat }"></button>
<!-- 內聯語句 -->
<button v-on:click="doThat('hello', $event)"></button>
<!-- 縮寫 -->
<button @click="doThis"></button>
<!-- 停止冒泡 -->
<button @click.stop="doThis"></button>
<!-- 阻止默認行為 -->
<button @click.prevent="doThis"></button>
<!-- 阻止默認行為,沒有表達式 -->
<form @submit.prevent></form>
<!--  串聯修飾符 -->
<button @click.stop.prevent="doThis"></button>
<!-- 鍵修飾符,鍵別名 -->
<input @keyup.enter="onEnter">
<!-- 鍵修飾符,鍵代碼 -->
<input @keyup.13="onEnter">
<!-- 點擊回調只會觸發(fā)一次 -->
<button v-on:click.once="doThis"></button>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內容,還有我對于 Vue 1.0 印象不深的內容。關于...
    云之外閱讀 5,177評論 0 29
  • 1.安裝 可以簡單地在頁面引入Vue.js作為獨立版本,Vue即被注冊為全局變量,可以在頁面使用了。 如果希望搭建...
    Awey閱讀 11,298評論 4 129
  • 下載安裝搭建環(huán)境 可以選npm安裝,或者簡單下載一個開發(fā)版的vue.js文件 瀏覽器打開加載有vue的文檔時,控制...
    冥冥2017閱讀 6,197評論 0 42
  • Vue 實例 屬性和方法 每個 Vue 實例都會代理其 data 對象里所有的屬性:var data = { a:...
    云之外閱讀 2,372評論 0 6
  • 所有都是有因果的當做小說休閑看看哈 輕噴莫擔心我很好~ 工作一年了…………突然發(fā)現我也還沒能適應這個窗口單位…剛開...
    2a295f061dfa閱讀 480評論 0 0

友情鏈接更多精彩內容