Vuejs——v-on
版权声明:出处http://blog.csdn.net/qq20004604
资料来于官方文档:
http://cn.vuejs.org/guide/events.html
本文是在官方文档的基础上,更加细致的说明,代码更多更全。
简单来说,更适合新手阅读
(二十二)方法处理器
①v-on的标准用法
用于监听DOM事件,典型的就是v-on:click,处理的方法放在methods属性里
会默认传一个参数,代码如下:
- <button @click="test">点击</button>
- methods: {
- test: function (evt) {
- console.log(evt);
- }
- }
这里的evt,是标准的鼠标点击事件,类似jQuery的click事件的回调函数中的参数。
可以通过this来找到data属性里的值(或许也能找到其他几个),例如:
- data: {
- items: "test"
- },
- methods: {
- test: function (evt) {
- console.log(this.items);
- console.log(evt);
- }
- }
这里的this.items,就是data的items这个变量;
②内联语句处理器
给v-on事件传一个固定参数
- <button @click="test('a')">点击搜索age</button>
当这个时候,函数的第一个参数就不是鼠标点击事件了,而是字符串a
- test: function (mes) {
- console.log(mes);
- }
mes的值是’a’
$event
如果需要给他一个像上面一样的鼠标点击事件时,则使用$event作为参数(他和不传参数时的默认鼠标事件对象是相同的);
使用Vue实例的变量
如果需要传一个data属性里的值,则直接放属性名
例如:
- <div id="app">
- <a href="http://www.baidu.com" @click="test(items, $event)">点击搜索age</a>
- </div>
- <script>
- var test = {name: "test"};
- var vm = new Vue({
- el: '#app',
- data: {
- items: "test"
- },
- methods: {
- test: function (msg, evt) {
- console.log(msg);
- evt.preventDefault();//阻止默认动作,比如这里是页面跳转
- }
- }
- })
- </script>
输出:test和BUTTON
③事件修饰符(针对v-on)
|
修饰符 |
效果 |
备注 |
|
.prevent |
阻止html元素的默认事件 |
类似evt.preventDefault() |
|
.stop |
阻止事件冒泡 |
|
|
keyup.数字 |
当该数字表示的按键弹起时 |
有别名 |
|
keyup.enter |
回车 |
按下回车时 |
|
keyup.tab |
Tab按钮 |
tab切入该input时 |
|
keyup.delete |
del键 |
会导致原始的delete删除功能失效 |
|
keyup.esc |
esc键 |
按下esc时 |
|
keyup.space |
空格键 |
不会使空格功能失效(即按下空格时,既空格,又触发事件) |
|
keyup.up |
键盘方向键的上 |
上键同时会使光标到输入框的最左边 (焦点在输入框时才生效,按键弹起时生效,下同) |
|
keyup.down |
键盘方向键的下 |
到输入框的最后面 |
|
keyup.left |
方向左键 |
光标左移 |
|
keyup.right |
方向右键 |
光标右移 |
|
.self |
当前元素本身(非子元素)时触发事件 |
类似冒泡的时候找最顶层,一般用于click之类的鼠标事件(1.0.16之后) |
|
.capture |
按照capture模式来处理 |
简单来说,根据我推测,是根据捕获顺序触发冒泡(原本模式是后捕获先冒泡,这个正好相反)(1.0.16之后) |
对于.self来说,例如以下代码:
- <div id="app">
- <div @click.self="test" class="a">
- <div class="b">
- </div>
- </div>
- </div>
- <script>
- var test = {name: "test"};
- var vm = new Vue({
- el: '#app',
- data: {
- items: "test"
- },
- methods: {
- test: function (evt) {
- console.log(evt);
- }
- }
- })
- </script>
只有当点击到非div class=’b’的区域时,才会触发事件;
④自定义按键别名:
规范:
Vue.directive(“on”),keyCode.别名 = 按键码;
示例:
- Vue.directive("on").keyCode.z = 122;
这个指键盘码为122(小写z)的别名命名为z,当按键键盘的z键时(无论大小写),都会触发事件。
注意,这个要写在实例声明之后(推测是要含有该按键的template被创建后才有效)
Vuejs——v-on的更多相关文章
- 【vuejs小项目】一、脚手架搭建工作
一.关于vuejs 这是一个MVVM的前端开发框架,model(数据).viewmode(通讯).view(视图),它吸取了reactjs和angularjs的长处,核心重点在于组件化的设计原则. 我 ...
- Vuejs使用笔记 --- component内部实现
现在来系统地学习一下Vue(参考vue.js官方文档): Vue.js是一个构建数据驱动的web界面的库,其目标是实现响应的数据绑定和组合的试图组件. Vue.js拥抱数据驱动的视图概念,这意味着我们 ...
- VueJS搭建简单后台管理系统框架(一)环境搭建
做这份笔记的时候,Vue.js还是1.0,10月份Vue已经升级到2.0,这边也进行相应的更新,用Vue2.0进行一个简单的环境搭建 饿了么也刚好开源了其基于Vue.js的UI框架element-ui ...
- 2016年,总结篇 之 VueJS 如何入门(一)
接着 2016 年的总结,我们来看看 2016年 国内最火且没有之一的前端MVVM 框架 VueJs 虽然 到写文章的这个时间点,VueJs已经发布了 2.1.x 了, 但是对于很多 Vuejs 的初 ...
- vuejs学习笔记(1)--属性,事件绑定,ajax
属性 v-for 类似于angular中的 ng-repeat ,用于重复生成html片段: <ul id="box"> <li v-for="(v, ...
- vuejs学习笔记(2)--属性,事件绑定,ajax
属性 v-for 类似于angular中的 ng-repeat ,用于重复生成html片段: <ul id="box"> <li v-for="(v, ...
- 二、VueJs 填坑日记之基础项目构建
在上一篇文章中,大致介绍了一下本系列博文以及学习vuejs我们需要了解的一些概念,希望大家认真阅读,所谓知己知彼,百战百胜,学习也一样,工欲善其事,必先利其器,要想学好vuejs,那前提的概念一定要熟 ...
- 七、VueJs 填坑日记之渲染一个列表
在上一篇博文中,我们对vue组件有了一个简单的认识和大概的理解.在之前认识项目结构的时候,我们在/src目录中创建了一个components的文件夹,而今天就要用到了,这个文件夹的作用就是放置我们的自 ...
- VueJs笔记
在使用Vuejs做开发的过程中,偶尔会遇到,动态给data添加一个属性这个属性确不能被动态监听到,只能用this.$set(prop,'prop',val)来强制监听,但是有些情况下又不需要这样操作. ...
- 2016年,总结篇 续 如何从 JQ 转到 VueJS 开发(一)
接着 2016 年的总结,我们来看看 2016年 国内最火且没有之一的前端MVVM 框架 VueJs 虽然 到写文章的这个时间点,VueJs已经发布了 2.1.x 了, 但是对于很多 Vuejs 的初 ...
随机推荐
- 关于Python编码,超诡异的,我也是醉了
Python的编码问题,真是让人醉了.最近碰到的问题还真不少.比如中文文件名.csv .python对外呈现不一致啊,感觉好不公平. 没图说个JB,下面立马上图. 我早些时候的其他脚本,csv都是 ...
- 5.Java 加解密技术系列之 DES
Java 加解密技术系列之 DES 序 背景 概念 基本原理 主要流程 分组模式 代码实现 结束语 序 前 几篇文章讲的都是单向加密算法,其中涉及到了 BASE64.MD5.SHA.HMAC 等几个比 ...
- 【转】HTTP长连接与短连接(2)
一.什么是长连接 HTTP1.1规定了默认保持长连接(HTTP persistent connection ,也有翻译为持久连接),数据传输完成了保持TCP连接不断开(不发RST包.不四次握手),等待 ...
- 开涛spring3(12.2) - 零配置 之 12.2 注解实现Bean依赖注入
12.2 注解实现Bean依赖注入 12.2.1 概述 注解实现Bean配置主要用来进行如依赖注入.生命周期回调方法定义等,不能消除XML文件中的Bean元数据定义,且基于XML配置中的依赖注入的 ...
- Java-面向对象总结
下面是学习面向对象的知识点和总结: 面向对象思想: 遇到需求,首先去找是否有现成的类来实现此功能,创建对象来调用,以此来组合成新的类实现自己的需求. 在java中是以类为单位,一个类包括成员变量.成员 ...
- 如何有效的跟踪线上 MySQL 实例表和权限的变更
介绍 从系统管理员或 DBA 的角度来讲, 总期望将线上的各种变更限制在一个可控的范围内, 减少一些不确定的因素. 这样做有几点好处: . 记录线上的库表变更; . 对线上的库表变更有全局的了解; . ...
- Rxjava observeOn()和subscribeOn()初探
Rxjava这么强大的类库怎么可能没有多线程切换呢? 其中observeOn()与subscribeOn()就是实现这样的作用的.本文主要讲解observeOn()与subscribeOn()的用法, ...
- day5_ 导入模块和包
######################模块导入模块做的事1.产生新的名称空间2.以新建的名称空间为全局名称空间,执行文件的代码3.拿到一个模块名spam,指向spam.py产生的名称空间 imp ...
- Unity运动残影技能
残影实现: 1.List<DrawMesh> list,此list中包含某一帧动画模型网格.材质 2.每过一段时间就将运动物体的模型add到list中(优化:未实现,网格合并) 3.Lat ...
- Java IO流--练习
1)将若干个Student对象,若干个Teacher对象,写出到d:/0404/a.txt中 2)将该文件中所有Student对象反序列化回来装入List, 所有的Teacher对象反序列化回来转入另 ...