v-on参数问题与修饰符
参数问题
<!DOCTYPE HTML> <HTML> <head> <meta charset="UTF-8"/> <title></title> </head> <body> <div id="app"> </h2> <!-- 事件调用没有参数--> <button @click="btnClick">按钮1</button> <button v-on:click="btnClick()">按钮1 </button> <!-- 在写函数时候,事件定义忽略了小括号,但方法本身需要参数--> <!-- <button v-on:click="btnClick2()">按钮2</button>--> <button v-on:click="btnClick2">按钮2</button> <!-- 需要事件传递时,省略小括号,直接传递事件--> <!-- 方法定义时,不仅需要event,也需要其它参数--> <!-- <button v-on:click="btn3(log,event)">按钮3</button> event会被当成普通参数处理--> <button v-on:click="btn3('1',$event)">按钮3</button> </div> <script src="../vue.js"></script> <script> const vm = new Vue({ el:'#app', data:{ message:'ds', counter:0 }, methods:{ btnClick(){ console.log('btnclick') }, // btnClick2(ab){ // // console.log(ab) // } btnClick2(event){ console.log(event) }, btn3(a,event){ console.log(a+' --'+event) } } }) // function a(name) { //默认是undefined // console.log(name) // } // a() </script> </body> </HTML>
修饰符
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title> </title> </head> <body> <!--.stop修饰符的使用--> <div id="app"> <div @click="divClick"> 11 <button @click.stop="btnClick">点击</button> </div> <!-- 2.prevent函数的使用--> <form action="'"> <input type="submit" value="提交" @click.prevent="subClick"> </form> <!-- 监听某个键盘的按键--> <input type="text" @keyup.enter="keyClick"> <!-- .once--> <button @click.once="btn2Click">按钮2</button> </div> <script src="../vue.js"/> <script> const vm= new Vue({ el:'#spp', // data:, methods:{ divClick(){ console.log('divclick') } , btnClick(){ console.log('btnClcik') }, subClick(){ console.log('subClcik') }, keyClick(){ console.log('keyupor down') }, btn2Click(){ console.log('btn2') } }, }) </script> </body> </html>