Vuejs——(5)v-on

资料来于官方文档:

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被创建后才有效)

时间: 2024-09-17 20:39:20

Vuejs——(5)v-on的相关文章

Vuejs——(2)Vue生命周期,数据,手动挂载,指令,过滤器

原教程: http://cn.vuejs.org/guide/instance.html http://cn.vuejs.org/guide/syntax.html 本博文是在原教程的基础上加上实例,并尝试说明的更详细. (十)Vue实例的生命周期 如图:(我自己翻译的中文版,英文版请查看本博文顶部的,第一个链接) (八)传入的数据绑定 先创建一个对象(假如是obj),然后将他传入Vue实例中,作为data属性的值,那么 ①obj的值的变化,将影响Vue实例中的值的变化: ②相反一样: ③可以在

Vuejs——(1)入门(单向绑定、双向绑定、列表渲染、响应函数)

参照链接: http://cn.vuejs.org/guide/index.html [起步]部分 本文是在其基础上进行补全和更详细的探寻 嗯,根据朋友的建议,我改投vue阵营了   (一)单向绑定 [javascript] view plain copy <div id="app">       {{ message }}   </div>      <script>       new Vue({           el: '#app',  

Vuejs——(3)计算属性,样式和类绑定

先上总结: (十九)标签和API总结(2) vm指new Vue获取的实例   ①当dom标签里的值和data里的值绑定后,更改data对应的值可以实时更新标签里的值:   但后续添加的值是无效的(绑定失败).   ②将可以将对象直接作为data的一个属性,是有效的(因为对象按值传递): 所以该属性和该对象是全等的:   ③vm的接口有: vm.$data是vm的data属性: vm.$el是el属性指向的dom结点: vm.$watch是监视属性变化(比如data里的值)(参照(九))   ④

Vuejs——(4)v-if、v-for

(二十)v-if ①简单来说,该值为true则显示该标签,为false则不显示: 如例: <div id="app">     <div v-if="abc">{{abc.a}}</div> </div> <script>     var vm = new Vue({         el: '#app',         data: {             abc: {                

Vuejs——(7)过渡(动画)

本篇资料来于官方文档: http://cn.vuejs.org/guide/transitions.html 本文是在官方文档的基础上,更加细致的说明,代码更多更全. 简单来说,更适合新手阅读 (二十四)过渡动画 ①过渡动画的定义: 简单来说,就是当模块消失.出现时,会以什么样的形式消失和出现: 如果要使用过渡动画,则在标签里加入属性: transition="过渡动画名" 例如: <div class="box" v-if="box_1"

oracle如何查询初始化参数(三)V$SPPARAMETER与GV$PARAMETER视图的不同

查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下. 这一篇介绍V$SPPARAMETER视图于GV$PARAMETER视图的不同. 上一篇介绍了V$SYSTEM_PARAMETER和V$PARAMETER视图之间的区别,这篇主要讨论RAC环境下初始化参数的查询. 前文已经提到,使用SHOW PARAMETER查询,看到的是当前会话可以看到的初始化参数,那么这个参数导致是全局设置还是当前实例设置的,是从这个命令中看不到的. 虽然Oracl

word2vec深入浅出,保证你一看就会(5)【完结】

这一节将介绍Glove的实际代码编写和调优简化策略.考虑到时间较长,把上文的模型建立再复制黏贴了一次. 下图是官网的展示图,和frog青蛙最相近的词. 可以看到效果还是比较好的. 模型建立 有理由相信,对于三个词\(i,j,k\),他们\(P(k|i)/P(k|j)\)的值可以解释他们之间的关系. 因此,我们可以假设一个函数,自变量是三个词的vec表示,然后函数结果则是\(P(k|i)/P(k|j)\). 即 $$F(w_i,w_j,w_k)=P(i|k)/P(j|k)$$ 其中每个\(w_i\

使命必达: 深入剖析WCF的可靠会话[原理揭秘篇](下)

上面一部分我们站在信道层的角度剖析了WCF为了实现可靠会话在信道层进行的一系列消息交换,或者说客户端和服务端的RS信道为了实现可靠消息传输所进行一轮又一轮的握手.这一切都是基于这样一个假设:两个RS信道均可以在适当的时机向对方发送消息,或者说两个RS信道之间是一个双工的通道. 如果我们站在传输层看待这个问题,该假设对于TCP传输是成立的,但是对于HTTP来说就有点问题了.HTTP本身就是一个基于请求|回复消息交换模式的应用层网络协议,并不能对双工通信提供支持.而WCF通过WSDualHttpBi

Vuejs——(8~13)组件(从不懂到精通)

本篇资料来于官方文档: http://cn.vuejs.org/guide/components.html 本文是在官方文档的基础上,更加细致的说明,代码更多更全. 简单来说,更适合新手阅读 (二十五)组件的定义 ①组件的作用: [1]扩展HTML元素,封装可重用的代码: [2]组件是自定义元素,Vuejs的编译器可以为其添加特殊的功能: [3]某些情况下,组件可以是原生HTML元素的形式,以is的方式扩展.   ②写一个标准的组件: 分为以下几步: [1]挂载组件的地方,需要是Vue实例所渲染