VUE-04 事件
原生:
1 DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>事件title> 6 head> 7 <body> 8 9 <div onclick="fn()" id="btn">点我div> 10 11 <script> 12 function fn(){ 13 alert(1); 14 } 15 console.log(btn.onclick) 16 /* 17 * ? onclick(event) { 18 fn() 19 } 20 */ 21 script> 22 body> 23 html>
vue:
1 DOCTYPE html> 2 <html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>事件title> 6 head> 7 <body> 8 9 <div id="app"> 10 11 12 <div v-on:click="fn">点我div> 13 <div v-on:click="ck($event,1)">点我div> 14 div> 15 16 <script src="./node_modules/vue/dist/vue.js">script> 17 <script> 18 19 let vm = new Vue({ // 根实例 20 el:'#app', 21 methods:{ 22 // methods 中的this指向的都是实例vm 不能用箭头函数fn:()=>{alert(1);},this会改变 23 fn() {alert(1);}, // es6 的写法 fn:function () {alert(1);} 24 ck(event,a) {console.log(event)} 25 }, 26 data:{ 27 // 也可以 但是 不美观 fn (){alert(1);} data和methods中的数据都会放到vm上,名字不能重复。 28 } 29 30 }); 31 script> 32 body> 33 html>
1 DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Demotitle> 6 head> 7 <body> 8 <div id="app"> 9 10 <input type="text" v-model="val" @keyup.enter="add"/> 11 <ul> 12 <li v-for="v,i in arr">{{v}}<button @click="remove(i)">删除button> li> 13 ul> 14 div> 15 <script src="./node_modules/vue/dist/vue.js">script> 16 <script> 17 let vm = new Vue({ 18 el:'#app', 19 methods:{ 20 add(e){ 21 // if(e.keyCode===13){ 事件上直接用.enter代替 22 this.arr.unshift(this.val); 23 this.val = ''; 24 // } 25 }, 26 remove(i){this.arr = this.arr.filter((item,index)=> index!==i);}, 27 }, 28 data:{ 29 val:'', 30 arr:[], 31 } 32 }) 33 script> 34 body> 35 html>