Vuejs——(5)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——(5)v-on的更多相关文章
- Vuejs——(2)Vue生命周期,数据,手动挂载,指令,过滤器
		(八)传入的数据绑定 先创建一个对象(假如是obj),然后将他传入Vue实例中,作为data属性的值,那么 ①obj的值的变化,将影响Vue实例中的值的变化: ②相反一样: ③可以在Vue实例外面操纵 ... 
- Vuejs——(1)入门(单向绑定、双向绑定、列表渲染、响应函数)
		版权声明:出处http://blog.csdn.net/qq20004604 目录(?)[+] 参照链接: http://cn.vuejs.org/guide/index.html [起步]部 ... 
- Vuejs——(3)计算属性,样式和类绑定
		版权声明:出处http://blog.csdn.net/qq20004604 目录(?)[+] 先上总结: (十九)标签和API总结(2) vm指new Vue获取的实例 ①当dom标签里的值 ... 
- Vuejs——(4)v-if、v-for
		版权声明:出处http://blog.csdn.net/qq20004604 目录(?)[+] (二十)v-if ①标准v-if用法 简单来说,该值为true则显示该标签,为false则不显示 ... 
- Vuejs——(8)Vuejs组件的定义
		版权声明:出处http://blog.csdn.net/qq20004604 目录(?)[+] 本篇资料来于官方文档: http://cn.vuejs.org/guide/components ... 
- Vuejs——(10)组件——父子组件通信
		版权声明:出处http://blog.csdn.net/qq20004604 目录(?)[+] 本篇资料来于官方文档: http://cn.vuejs.org/guide/components ... 
- Vuejs(14)——在v-for中,利用index来对第一项添加class
		版权声明:出处http://blog.csdn.net/qq20004604 (1)在v-for中,利用index来对第一项添加class <a class="list-group-i ... 
- Vuejs——(6)Vuejs与form元素
		版权声明:出处http://blog.csdn.net/qq20004604 目录(?)[+] 资料来于官方文档: http://cn.vuejs.org/guide/forms.html 本 ... 
- Vuejs——(7)过渡(动画)
		版权声明:出处http://blog.csdn.net/qq20004604 目录(?)[+] 本篇资料来于官方文档: http://cn.vuejs.org/guide/transition ... 
- Vuejs——(9)组件——props数据传递
		版权声明:出处http://blog.csdn.net/qq20004604 目录(?)[+] 本篇资料来于官方文档: http://cn.vuejs.org/guide/components ... 
随机推荐
- express + mongodb 搭建一个简易网站 (四)
			express + mongodb 搭建一个简易网站 (四) 目前网站整体页面都已经能全部展示了,但是,整个网站还有两个块需要做完才能算完整,一个连接数据库,目前网站上的数据都是抓取的本地假数据,所以 ... 
- test5
			## 前言 因为vs2010没有集成mvvmlight 所以想要使用mvvmlight的relaycomman需要引用dll 需要测试某个功能的时候,不能进行快带的集成 ## 引用mvvmlight ... 
- IEdevelopToolbar ie浏览器的css代码调试工具
			使用IEdevelopToolbar的“选择元素”工具(ctrl+b),选取你要内容的地方下方的DIV,我们就可以找到几个关键字 
- 在Linux下配置jdk的环境变量
			jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 在根目录新建s ... 
- KO ------- 表中字段名和实体类属性名不一致
			-----------------------siwuxie095 KO ------- 表中字段名和实体类属性名不一致 如果数据库表中的字段名和实体类的属性名不一致,那么在查询时, 相应字段的结果就 ... 
- PHP的zip、unzip类详解
			1.打开一个ZIP包,用于读取.写入或修改 open(string $filename [, int $flags]) $filename - 文件名 $flags - 打开模式 ZIPARCHIVE ... 
- Spring框架的JDBC模板技术概述
			1. Spring框架中提供了很多持久层的模板类来简化编程,使用模板类编写程序会变的简单 2. 提供了JDBC模板,Spring框架提供的 * JdbcTemplate类 3. Spring框架可以整 ... 
- 【转】Repository 返回 IQueryable?还是 IEnumerable?
			这是一个很有意思的问题,我们一步一步来探讨,首先需要明确两个概念(来自 MSDN): IQueryable:提供对未指定数据类型的特定数据源的查询进行计算的功能. IEnumerable:公开枚举数, ... 
- FEATURE_MCT_READERDIRECT问题
			刚才查了一下,好像与一个叫CCID的驱动有关.你把FEATURE_MCT_READEDIRECT定义成0x08,再make一下试试. 
- c++ 博客资源
			/************************************************************** 技术博客 http://www.cnblogs.com/itdef/ ... 
