Vue-指令 事件修饰符 插值表达式
<body>
<div id="app">
<p>{{ msg }}</p>
<p v-cloak>====={{msg}}------</p>
<h3 v-text="msg"></h3>
<div>{{msg2}}</div>
<div v-html="msg2"></div>
</div>
<script src="vue.js"></script>
<script>
var vm=new Vue({
el:'#app',
data:{
msg:'123',
msg2:'<h1>nihao</h1>'
}
})
</script>
</body>
插值表达式
1.el :绑定哪个dom。 el语法固定 用于指明 Vue 实例的挂载目标。
2.data: 显示数据。 data语法固定;data下面的msg可以随便定义
3.html 显示:{{msg}} 2个大括号
默认v-text是没有闪烁问题的
v-text会覆盖元素中原本的内容,但是,插值表达式只会替换自己的这个占位符,不会把整个元素的内容清空。
v-bind:是Vue中,提供的用于绑定属性的指令
注意:v-bind指令可以被简写为 ":"要绑定的属性
v-bind中,可以写合法的JS表达式
<body>
<div>
<input type="button" value="按钮" v-on:click="show">
</div>
<script src="vue.js"></script>
<script>
methods:{ //这个methods属性中定义了当前Vue实例所有可用的方法
show:function () {
alert("hello")
}
}
})
</script>
</body>
Vue中提供了v-on:事件绑定机制
简写为 @
事件修饰符
-
.stop阻止冒泡
<style>
.inner{
height: 150px;
}
</style>
<div id="app">
<div class="inner" @click="div1Handler">
使用.stop阻止冒泡
<input type="button" value="戳他" @click.stop="btnHandler">
</div>
</div>
<script>
var vm=new Vue({
el: '#app',
data:{},
methods:{
div1Handler(){
console.log('inner div')
},
btnHandler(){
console.log('btn')
}
}
});
</script>
使用.stop之后 阻止冒泡 只输出btn
-
.prevent阻止默认事件
<div id="app">
<a href="http://www.baidu.com" @click.prevent="linkClick">百度一下</a>
</div>
<script>
var vm=new Vue({
el: '#app',
data:{},
methods:{
linkClick(){
console.log('链接 ')
}
}
});
</script>
点击按钮后跳转到百度
使用.prevent阻止默认事件
-
.capture添加事件侦听器时使用事件捕获模式
<div id="app">
<!--使用.prevent阻止默认行为-->
<!--使用 .capture实现捕获触发事件的机制-->
<div class="inner" @click.capture="div1Handler">
<input type="button" value="戳他" @click="btnHandler">
</div>
</div>
<script>
var vm=new Vue({
el: '#app',
data:{},
methods:{
div1Handler(){
console.log('inner div')
},
btnHandler(){
console.log('btn')
}
}
});
</script>
从外到内执行 捕获
-
.self只当事件在该元素本身(比如不是子元素)触发时出发回调
<div id="app">
<div class="inner" @click.self="div1Handler">
<input type="button" value="戳他" @click="btnHandler">
</div>
</div>
<script>
var vm=new Vue({
el: '#app',
data:{},
methods:{
div1Handler(){
console.log('inner div')
},
btnHandler(){
console.log('btn')
}
}
});
</script>
使用.self实现只有点击当前元素的时候,才会触发事件处理函数
-
.once事件只触发一次
<a href="http://www.baidu.com" @click.prevent.once="linkClick">百度一下</a>
浙公网安备 33010602011771号