一、v-bind的用法:
1. 动态绑定class
<template>
<div :class="{active:'isActive',title:true}">
hello world
</div>
<div class = 'default' :class="{active:'isActive',title:true}">
hello world
</div>
<div :class="getClass()">
hello worlddddd
</div>
<div :class="myClass">
计算属性
</div>
<div :class="['abc',title,isActive?'active':'',{active:true}]">
hello world
</div>
</template>
<script>
export default {
name: 'bindClass',
props: {
},
data(){
return {
isActive:true,
title:'titleInData'
}
},
computed:{
myClass(){
return {
active:false,
title:false
}
}
},
methods: {
getClass(){
return {
active:true,
title:false
}
}
},
}
</script>
<style scoped>
.active{
color: red;
}
</style>
2. 动态绑定style
<template>
<div :style="{color:finalColor}"> hello style</div>
<div :style="{fontSize:'50px','font-size':'20px'}">hello style</div>
<div :style="finalStyle">in a style obj</div>
<div :style="[finalColor,tempStyle]">hello style</div>
</template>
<script>
export default {
name: 'BindStyle',
data () {
return {
finalColor:'red',
finalStyle:{
color:'red',
fontSize:'40px'
},
tempStyle:{
color:'blue'
}
}
}
}
</script>
<style scoped>
</style>
3.动态绑定属性(动态属性名)
<template>
<div :[key]="value"> hello world</div>
<div v-bind="bindObj">v-bind一个对象</div>
</template>
<script>
export default {
name: 'BindProperty',
data () {
return {
key:'abc',
value:'theValue',
bindObj:{
name:'why',
age:18,
home:'chongqing'
}
}
}
}
</script>
<style scoped>
</style>
二、v-on的用法
<template>
<div>
<button v-on:click='handleClick'>点击</button>
<button v-on:mousemove='handleMove'>鼠标移动</button>
<button @click="counter++">{{counter}}</button>
<button v-on="{click:handleClick,mousemove:handleMove}">绑定一个对象</button>
<button v-on:click="handleClick($event,'someValue')">传递参数</button>
<button @click.stop="handleClick">修饰符:停止冒泡</button>
<input type="text" @keyup.enter="handleInput">
</div>
</template>
nbn
<script>
export default {
name: 'useOn',
data () {
return {
counter: 1
}
},
methods: {
handleClick(e,props){
console.log(e.target)
console.log('props:',props)
},
handleMove(e){
console.log(e.target)
},
handleInput(e){
console.log(e.target.value)
}
}
}
</script>
<style scoped>
</style>