Vue的学习v-on和event

事件处理:v-on

完整格式: v-on:事件名=“函数名” 或 v-on:事件名=“函数名(参数……)”
缩写格式: @事件名=“函数名” 或 @事件名=“函数名(参数……)” 注意: @ 后面没有冒号
event :函数中的默认形参,代表原生 DOM 事件
当调用的函数,有多个参数传入时,需要使用原生DOM事件,则通过 $event 作为实参传入
作用:用于监听 DOM 事件
v-on:click="xx"其中xx是method中的方法也就是说点击button,触发v-on:click然后触动methods中的方法
在这里插入图片描述
event传参
在这里插入图片描述
效果入下
在这里插入图片描述

事件修饰符

.stop 阻止单击事件继续传播 event.stopPropagation()
.prevent 阻止事件默认行为 event.preventDefault()
.once 点击事件将只会触发一次

.stop使用
在这里插入图片描述
.prevent的使用
在这里插入图片描述
.once的使用
在这里插入图片描述
按键修饰符
格式: v-on:keyup.按键名 或 @keyup.按键名
常用按键名:
.enter
.tab
.delete (捕获“删除”和“退格”键)
.esc
.space
.up
.down
.left
.right
下面以回车和空格键举例
在这里插入图片描述

表单数据双向绑定v-model

单向绑定:数据变,视图变;视图变(浏览器控制台上更新html),数据不变;上面的都是单向绑定
双向绑定:数据变,视图变;视图变(在输入框更新),数据变;
基础用法
v-model 指令用于表单数据双向绑定,针对以下类型:
text 文本
textarea 多行文本
radio 单选按钮
checkbox 复选框
select 下拉框

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

     <div id="app">
               <form action="#"@submit.prevent="submitform">//submit.prevent阻止事件的发生跳转到methods下面的submitform方法
                  姓名(文本):<input type="text" v-model="name">
                   <br><br>
                  性别(单选按钮):
                       <input name="sex" type="radio" value="1" v-model="sex" />男
                       <input name="sex" type="radio" value="0" v-model="sex"/>女
                   <br><br>
                  技能(多选框):
                       <input type="checkbox" name="skills" value="java" v-model="skills">Java开发
                       <input type="checkbox" name="skills" value="vue"  v-model="skills">Vue.js开发
                       <input type="checkbox" name="skills" value="python"  v-model="skills">Python开发
                   <br><br>
                  城市(下拉框):
                   <select name="citys" v-model='city'>
                       <option v-for="c in citys":value="c.code">{{c.name}}</option>
                   </select>
                   <br><br>
                  说明(多行文本):<textarea cols="30" rows="5" v-model='esc'></textarea>
                   <br><br>
                   <button type="submit" >提交</button>
               </form>
           </div>

    
           
       
    <script src="./node_modules/vue/dist/vue.js"></script>
    <script>
    var vm=    new Vue({
            el:'#app',
            data:{
                name:'',
                sex:'0',//默认选中男
                // 默认选中VueJS
                skills:['vue'],
                city:'sh',
                citys:[
                    {code:'bj',name:'北京'},
                    {code:'sh',name:'上海'},
                    {code:'gz',name:'广州'}
                ],
                esc:'1111111'
            },
            methods: {
                submitform:function(){
                    // 发送ajax请求异步处理
                 alert(  this.name+','+this.sex+','+this.skills+','+this.city+','+this.esc) 
                }
            },
        })
    </script>
    
</body>
</html>
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中的v-on指令用于绑定事件处理程序。它可以用于监听DOM事件,自定义组件事件以及指令事件。v-on的值通常是一个方法名或者一个内联JavaScript语句,当触发事件时,这个方法或语句会被执行。 事件对象是指在事件处理程序中自动传入的参数,包含了关于事件的所有信息,如事件类型、触发元素、鼠标位置等。在Vue中,事件对象会作为第一个参数自动传入事件处理程序中。我们可以在方法中使用$event来访问这个事件对象。 修饰符是一种用于修改事件行为的特殊指令。它们以点号开头,放在事件名之后,用于控制事件如何响应。Vue提供了多种修饰符,例如.stop、.prevent、.capture、.self、.once等。 常用的修饰符包括: - .stop:阻止事件继续传播 - .prevent:阻止事件的默认行为 - .capture:使用事件捕获模式,即从父元素向子元素传播事件 - .self:只在事件触发元素自身时触发事件处理程序 - .once:只触发一次事件处理程序 例如,下面是一个使用v-on指令、事件对象和修饰符的例子: ``` <button v-on:click.stop.prevent="handleClick">Click Me</button> ... methods: { handleClick: function(event) { // 阻止事件传播和默认行为 event.stopPropagation(); event.preventDefault(); } } ``` 在这个例子中,当按钮被点击时,handleClick方法会被执行。通过.stop.prevent修饰符,事件不会继续传播,并且默认行为也会被阻止。在方法中,我们使用event对象来访问事件信息,并通过stopPropagation()和preventDefault()方法来控制事件行为。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值