当前位置: 首页 > news >正文

Vue.js 基础学习 v-on 指令

在前面的基础学习中已经写了v-for和v-bind两个指令

今天学习v-on指令

v-on指令:用来绑定事件的
body中

<div id="app">

</div>

script中

var app = new Vue({
el : '#app',
methods : {

}
})

在div app中加入一个button并绑定一个点击事件

<button v-on:click="onClick">点我</button>

在js中的methods 中加入一个onClick

methods : {
onClick : function(){
console.log("clicked");
},    //每次添加一个成员就在后面加一个,方便添加新的
}

这时,在浏览器中点击按钮console会打印clicked,绑定click成功
我们还可以同时绑定多个事件

<button v-on='{mouseenter:onEnter,mouseleave:onOut}' v-on:click="onClick">点我</button>

上面我们通过对象的方式绑定多个事件,对象中的键是事件的名称 值是methods中的成员属性方法

methods : {
onClick : function(){
console.log("clicked");
},
onEnter : function(){
console.log("mouseenter");
},
onOut : function(){
console.log("mouseout");
},
}

这时,在浏览器中将鼠标移入button console会打印mouseenter 移出button console会打印mouseout

在div app中添加一个form 为form绑定一个提交事件

<form v-on:submit="onSubmit">
<input type="text"><br />
<input type="submit" value="提交">
</form>

在method中添加onSubmit

onSubmit:function() {
console.log("submitted");
},

绑定完发现在运行时无法在console中打印出submitted 原因是每次提交页面都会刷新

避免刷新的方法有两种
第一种onSubmit传递参数$event

<form v-on:submit="onSubmit($event)">

然后

onSubmit:function(e) {
e.preventDefault();
console.log("submitted");
},

这样我们就能打印出submitted而不刷新页面了

然而vue为我们提供了更加简单的方法那就是

<form v-on:submit.prevent="onSubmit">

而onSubmit不改动

onSubmit:function() {
console.log("submitted");
},

vue还提供了subnit.stop 用来停止冒泡

keyUp事件也提供了keyUp.enter只有enter按下时才触发

<form v-on:keyUp.enter="onkeyUpenter" v-on:submit.prevent="onSubmit">

在method中添加

onkeyUpenter : function() {
console.log("keyenterpressed");
},

只有按下enter时才会在console中打印

由于v-on很常用所以它也有一个简写方式@如 @click="onClick" @代表v-on:
在用对象同时绑定多个事件时,不能用@代替v-on。

转载于:https://www.cnblogs.com/huzhuo/p/7466864.html

相关文章:

  • python中多线程和多进程的区别_python 多线程和多进程的区别 mutiprocessing theading...
  • super关键字
  • c盘清理工具_学会这几招,让你的电脑从此告别C盘空间不足
  • Python 之 threading
  • c++自底向上算符优先分析_C语言运算符及其优先级汇总表口诀
  • dump分析工具_百因必有果,JVM调优(工具篇)建议收藏
  • java设计模式之代理模式模式总结
  • c语言左对齐_C语言经典100题(9)
  • Java连接SqlServer 2008数据库
  • 没有找到合适的方法来重写_你现在还没有女朋友?4个方法步骤,让你轻松快速找到女朋友...
  • Android JNI之数据类型
  • python爬带用户名密码的网页_Python爬虫带用户名密码登录
  • 醒醒吧少年,只用Cucumber不能帮助你BDD
  • gradle配置到阿里云_ESXI申请阿里云SSL证书并配置
  • Oracle用户和权限
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【面试系列】之二:关于js原型
  • axios 和 cookie 的那些事
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • Tornado学习笔记(1)
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • yii2权限控制rbac之rule详细讲解
  • 爱情 北京女病人
  • 关于字符编码你应该知道的事情
  • 通过npm或yarn自动生成vue组件
  • 突破自己的技术思维
  • # 计算机视觉入门
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (4)logging(日志模块)
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (C++17) std算法之执行策略 execution
  • (libusb) usb口自动刷新
  • (补)B+树一些思想
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET Micro Framework初体验
  • .net反编译的九款神器
  • .Net面试题4
  • .NET轻量级ORM组件Dapper葵花宝典
  • .vue文件怎么使用_vue调试工具vue-devtools的安装
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [1181]linux两台服务器之间传输文件和文件夹
  • [AutoSar]BSW_OS 01 priority ceiling protocol(PCP)
  • [c#基础]DataTable的Select方法
  • [C++] 统计程序耗时
  • [C++打怪升级]--学习总目录
  • [CVPR2021]Birds of a Feather: Capturing Avian Shape Models from Images