當一個div下邊有非常多的div或者input等其他組件,比如一個div下有幾百個按鈕,那么如果每個按鈕都寫一個click事件的話,會占用大量的內存,導致頁面反應緩慢。這種時候就比較適合用原生事件,下面我們來舉個例子:用vue如何捕獲原生的組件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="./js/vue.js"></script> </head> <body> <div id="app"> <div @click="func($event)"> <input type="button" value="button01"/> <input type="button" value="button02"/> <input type="button" value="button03"/> </div> </div> <script> var m = { } var vm = new Vue({ el:"#app", data: m, methods:{ func:function(event){ console.log(event,event.target); console.log('冒泡中...') } } }) </script> </body> </html>
依次點擊下圖中的按鈕
這樣的好處是,我不需要在botton1 botton2 botton3上分別監聽事件了,我只需要在他們共同的父節點<div>上放置一個事件,然后就可以捕獲他們所有的事件,而且能知道是誰被點擊了。