2.vue基础用法
2.1.事件处理
2.1.1.监听事件
使用v-on:事件名称 = '事件处理函数'的形式来监听事件,事件处理函数要写在methods后面的对象中
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<button v-on:click="say">按钮</button>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
new Vue({
el:'#app',
data: {
message:'hello,nodeing'
},
methods:{
say(){
alert(this.message)
}
}
})
</script>
</body>
</html>
如果事件处理函数需要传参数的话,可以写成这样:
<button v-on:click="say('hi')">按钮</button>
2.1.2.事件修饰符
事件修饰符是帮助我们去处理事件相关细节的,例如,防止事件冒泡、阻止系统默认行为等,以前我们需要使用event.stopPropagation()、event.preventDefault()去实现,在vue中有更简洁的使用方式,.stop、.prevent就可以搞定,这样在方法中就只需要关注业务逻辑,不需要去关注事件细节了
1 .stop修饰符,阻止事件冒泡
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#box{
300px;
height: 300px;
background-color: orangered;
}
#box-inner{
100px;
height: 100px;
background-color: green;
}
</style>
</head>
<body>
<div id="app">
<div id="box" v-on:click="out">
<div id="box-inner" v-on:click.stop="inner"></div>
</div>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
new Vue({
el:'#app',
data: {
message:'hello,nodeing'
},
methods:{
inner(){
alert('inner')
},
out(){
alert('out')
}
}
})
</script>
</body>
</html>
2 .prevent 阻止默认行为
<a href="http://baidu.com" v-on:click.prevent>百度一下</a>
3 .capture 事件捕获
<div id="app">
<div id="box" v-on:click.capture="out">
<div id="box-inner" v-on:click="inner"></div>
</div>
</div>
4 .self 事件源是自身的时候触发
<div id="box" v-on:click.self="out">
<div id="box-inner" v-on:click="inner"></div>
</div>
5 .once 只触发一次
<div id="app">
<div id="box" v-on:click="out">
<div id="box-inner" v-on:click.once="inner"></div>
</div>
</div>
螺钉课堂视频课程地址:http://edu.nodeing.com