先来一个常见场景: 此时 如果 是不行的 此时 可用v-bind加在属性前面 绑定一个属性 标明该属性是一个变量 这样就可以了 例如: : 就等同于 v-bind: 在以往 若要触发事件 在DOM中是这样的: 但Vue不提倡DOM操作 当然 除了click事件之外 其它常用事件都可以定义: 直接在@后跟着事件类型即可 v-on提供了一些事件修饰符: 在触发冒泡的标签上添加.stop修饰符即可: 能阻止默认事件 例如a标签的href 表单的submit等 添加事件侦听器默认采用的是冒泡模式 在添加.capture后使用捕获模式 只有事件是元素本身触发时才回调 只触发一次事件处理函数 因此 上述代码的效果是 第一次a标签是不会跳转的(因为加了.prevent 阻止默认行为) 但在除了第一次之外都会正常跳转(因为加了.once) .stop是阻止所有的冒泡
一、v-bind
在vue里定义了个名为mytitle的属性<script> var vm=new Vue({ el:"#app", data:{ mytitle:"This is a title!" }, }) </script>
<input type="button" value="按钮" title="mytitle">
此时 只会将mytitle当作普通字符串 并不会去vue实例中寻找对应的属性
这样 在解析的时候 会自动去vue实例的data里寻找对应的变量<input type="button" value="按钮" v-bind:title="mytitle">
使用v-bind的时候 还可在属性名前后加上js表达式 将解析后的结果输出
<input type="button" value="按钮" v-bind:title="'123'+mytitle+'321'">
v-bind还可简写为冒号[:]
直接在冒号后跟着要绑定的属性即可<input type="button" value="按钮" :title="'123'+mytitle+'321'">
二、v-on
<input type="button" value="按钮" id="btn">
document.getElementById("btn").onclick=function() { alert("Hello!") }
Vue提供了v-on 类似于JQuery的on()方法
v-on可以绑定事件 后面跟着的是要触发的事件类型:<input type="button" value="按钮" v-on:click="sayHello">
<script> var vm=new Vue({ el:"#app", data:{ }, methods:{ // 在methods属性中定义了当前Vue实例所有可用的方法 sayHello:function() { alert("Hello!") } } }) </script>
<input type="button" value="按钮" v-on:mouseover="sayHello">
v-on:也有缩写 其缩写为@
<input type="button" value="按钮1" @click="sayHello"> <input type="button" value="按钮2" @mouseover="sayHello">
三、事件修饰符
.stop
阻止冒泡.prevent
阻止默认事件.capture
添加事件侦听器时使用事件捕获模式.self
只当事件在该元素本身时触发时才会触发回调.once
事件只触发一次.stop
这样 即可阻止该事件的冒泡<div id="app"> <div class="inner" @click="divHandler"> <!-- .stop阻止冒泡 --> <input type="button" value="click me" @click.stop="btnHandler"> </div> </div>
.prevent
<!-- .prevent阻止默认行为 --> <a href="https://www.baidu.com" @click.prevent="linkClick">百度</a>
.capture
即 默认从里到外 添加该修饰符后 变为从外到里
注:该修饰符是加在外层div上的<!-- .capture事件捕获模式 --> <div class="inner" @click.capture="divHandler"> <input type="button" value="click me" @click="btnHandler"> </div>
.self
除此之外都不会被触发
该修饰符加在要实现此效果的元素标签上<div class="inner" @click.self="divHandler"> <input type="button" value="click me" @click="btnHandler"> </div>
.once
(事件处理函数可以串联)<!-- .once该事件只会被触发一次 --> <a href="https://www.baidu.com" @click.prevent.once="linkClick">百度</a>
关于.stop和.self的区别
而.self只是阻止当前元素上的冒泡行为 并不阻止它里面或外面的元素的冒泡<div class="outer" @click="divoHandler"> <div class="inner" @click.self="divHandler"> <input type="button" value="click me" @click.stop="btnHandler"> </div> </div>
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算