Vue入门
vue内部指令--------v-bind指令
v-bind是处理HTML中的标签属性的,例如img标签的src属性
v-bind的两种写法
<!-- 完整语法 -->
<a v-bind:href="url"></a>
<!-- 缩写 -->
<a :href="url"></a>
现在介绍一下v-bind的主要应用:
1.v-bind绑定img标签的src属性,对src进行动态赋值
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>v-bind实例</title>
<script type="text/javascript" src="../assets/js/vue.js"></script>
</head>
<body>
<div id="app">
<h1>这是v-bind绑定标签属性的实例</h1>
<p>绑定img标签的src属性</p>
<img v-bind:src="imgUrl" width="400px" />
<p>v-bind的缩写,直接用“ : ”来代替</p>
<img :src="imgUrl" width="400px"/>
</div>
<script>
var demo=new Vue({
el:'#app',
data:{
imgUrl:'http://img3.imgtn.bdimg.com/it/u=1740814700,1451766025&fm=15&gp=0.jpg'
}
})
</script>
</body>
</html>
运行结果:
2.v-bind绑定css样式,v-bind可以用“ :"代替
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>v-bind实例</title>
<script type="text/javascript" src="../assets/js/vue.js"></script>
</head>
<body>
<div id="app">
<div :class="classA">1.v-bind绑定css样式</div>
</div>
<style>
.boxA{
color: red;
}
.boxB{
font-size:30px;
}
</style>
<script>
var demo=new Vue({
el:'#app',
data:{
classA:'boxA'
}
})
</script>
</body>
</html>
运行结果:
3.v-bind绑定css样式,加入判断
解释:绑定classA并进行判断,在isOK为true时显示样式,在isOk为false时不显示样式。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>v-bind实例</title>
<script type="text/javascript" src="../assets/js/vue.js"></script>
</head>
<body>
<div id="app">
<div :class="{boxA:isOk}">2.v-bind绑定css样式:通过判断isOk的值,改变字显示的样式</div>
<input type="checkbox" id="one" value="one" v-model="isOk"/>
<label for="one">选择的isOk的值时:{{isOk}}</label>
</div>
<style>
.boxA{
color: red;
}
.boxB{
font-size:30px;
}
</style>
<script>
var demo=new Vue({
el:'#app',
data:{
classA:'boxA',
classB:'boxB',
isOk:false
}
})
</script>
</body>
</html>
运行结果:
4.v-bind绑定数组
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>v-bind实例</title>
<script type="text/javascript" src="../assets/js/vue.js"></script>
</head>
<body>
<div id="app">
<div :class="[classA,classB]">3.v-bind绑定数组</div>
</div>
<style>
.boxA{
color: red;
}
.boxB{
font-size:30px;
}
</style>
<script>
var demo=new Vue({
el:'#app',
data:{
classA:'boxA',
classB:'boxB',
isOk:false
}
})
</script>
</body>
</html>
5.v-bind应用于三元运算
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>v-bind实例</title>
<script type="text/javascript" src="../assets/js/vue.js"></script>
</head>
<body>
<div id="app">
<div :class="isOk?classA:classB">4.v-bind使用三元运算</div>
</div>
<style>
.boxA{
color: red;
}
.boxB{
font-size:30px;
}
</style>
<script>
var demo=new Vue({
el:'#app',
data:{
classA:'boxA',
classB:'boxB',
isOk:false
}
})
</script>
</body>
</html>
运行结果:
6.v-bind应用于style样式
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>v-bind实例</title>
<script type="text/javascript" src="../assets/js/vue.js"></script>
</head>
<body>
<div id="app">
<div :style="{color:red,fontSize:font}">5.v-bind绑定style</div>
</div>
<style>
.boxA{
color: red;
}
.boxB{
font-size:30px;
}
</style>
<script>
var demo=new Vue({
el:'#app',
data:{
classA:'boxA',
classB:'boxB',
isOk:false,
red:'red',
font:'25px'
}
})
</script>
</body>
</html>
运行结果:
7.v-bind:用对象绑定style样式
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>v-bind实例</title>
<script type="text/javascript" src="../assets/js/vue.js"></script>
</head>
<body>
<div id="app">
<div :style="objectBind">6.v-bind用对象绑定style样式</div>
</div>
<style>
.boxA{
color: red;
}
.boxB{
font-size:30px;
}
</style>
<script>
var demo=new Vue({
el:'#app',
data:{
classA:'boxA',
classB:'boxB',
isOk:false,
red:'red',
font:'25px',
objectBind:{
color:'blue',
fontSize:'35px',
}
}
})
</script>
</body>
</html>
运行结果: