Vue基础语法之v-on

一、js文件
var app = new Vue({
    el:'#app',
    methods:{
        onClick:function(){
            console.log('onClick')
        },
        onEnter:function(){
            console.log("onEnter")
        },
        onOut:function(){
            console.log("onOut")
        },
        onSubmit:function(e){
            e.preventDefault();
            console.log("onSubmit")
        },
        onSubmit2:function(){
            console.log("onSubmit2")
        },
        onKeyup:function(){
            console.log("onKeyup")
        }
    }
});
二、html文件
<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <div>
        <button v-on="{mouseenter:onEnter,mouseout:onOut}" @click="onClick">点击</button>
        <form @submit="onSubmit($event)" action="">
            <input type="text">
            <button type="submit">提交</button>
        </form>
        <form @submit.prevent="onSubmit2" action="">
            <input type="text">
            <button type="submit">提交</button>
        </form>
        <form v-on:keyup="onKeyup" v-on:submit.prevent="onSubmit2" >
            <input type="text">
            <button type="submit">提交</button>
        </form>
        <form @keyup.enter="onEnter" v-on:submit.prevent="onSubmit2" >
            <input type="text">
            <button type="submit">提交</button>
        </form>
    </div>
</div>
</body>
<script src="lib/js/vue.js"></script>
<script src="asset/js/v-on.js"></script>
</html>
三、效果展示
effect.gif
四、代码对比
五、备注:

v-on: 在某些时候可以使用简写@ 符号

一、直接绑定事件:
        @事件名="方法"   =>   @click="onClick"
        methods:{
              onClick:function(){
                  console.log('onClick')
            }
        }

二、绑定事件类
          v-on="{事件:方法}"        =>     v-on="{mouseenter:onEnter,mouseout:onOut}"
           methods:{
                  onEnter:function(){
                      console.log("onEnter")
                },
                onOut:function(){
                      console.log("onOut")
               },
         }
三、阻止默认形为(提交时刷新)
      v-on:事件="方法($event)"     =>      @submit="onSubmit($event)"
      methods:{
            onSubmit:function(e){
                e.preventDefault();
                console.log("onSubmit")
          }
      }
四、阻止默认形为二(提交时刷新)
        v-on:事件.行为="方法"         =>        @submit.prevent="onSubmit2"
                                           //  @submit.stop="onSubmit2"
        methods:{
              onSubmit2:function(){
                  console.log("onSubmit2")
            }
        }
五、键盘事件(最好配合阻止默认行为一起使用)
      v-on:事件.键值="方法"       =>       @keyup.enter="onEnter"
      methods:{
              onKeyup:function(){
                  console.log("onKeyup")
          }
      }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,736评论 1 45
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,806评论 1 92
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,313评论 0 3
  • 一:什么是闭包?闭包的用处? (1)闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就 是将函数内部和函数外...
    xuguibin阅读 9,739评论 1 52
  • 33、JS中的本地存储 把一些信息存储在当前浏览器指定域下的某一个地方(存储到物理硬盘中)1、不能跨浏览器传输:在...
    萌妹撒阅读 2,112评论 0 2