在学习vue的基本指令之前,首先要知道vue作为javaScript框架,会有自己特有的模板语法,这些语法遵循规范的浏览器和HTML解析器,会借助插值、表达式、指令构成整个页面。
1.文本插值:
最基本的使用双大括号**{{}}。
只需要渲染一次数据,后续数据变化不再关心,可以通过v-once指令来实现。
也可使用v-text**指令代替{{}}。
v-html可以解析标签
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<div id="app">
<p>{{title}}</p>
<p v-once>{{title}}</p>
<p v-text="title"></p>
<p v-html="title"></p>
</div>
</body>
<script src="js/vue.js"></script>
<script>
var em=new Vue({
el:"#app",
data:{
title:"<h1>hello</h1>"
}
})
</script>
</html>
2.绑定类样式和内联样式
v-bind:对象绑定案例(可以使用简写**:**代替)
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style>
#app{
width: 600px;
margin: 20px auto;
}
#app .border{
width: 300px;
height: 300px;
border: solid 3px chartreuse;
}
#app .shadow{
box-shadow: 0 0 10px black;
}
#app .background{
background-color: aqua;
}
#app .hover{
transition: all 1s 0s;
}
#app .hover:hover{
width: 200px;
height: 200px;
background-color: hotpink;
transition: all 1s 0s;
}
</style>
</head>
<body>
<div id="app">
<p>
<input type="checkbox" v-model="isborder"/>边框
<input type="checkbox" v-model="ishover"/>动画
<input type="checkbox" v-model="isbackground"/>背景颜色
<input type="checkbox" v-model="isshadow"/>阴影
</p>
<div v-bind:class="{
hover:ishover,
border:isborder,
background:isbackground,
shadow:isshadow
}">
</div>
</div>
</body>
<script src="js/vue.js"></script>
<script>
var em=new Vue({
el:"#app",
data:{
isborder:true,
isshadow:true,
isbackground:true,
ishover:true,
}
});
</script>
</html>
v-bind:数组绑定案例
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style>
#app{
width: 600px;
margin: 20px auto;
}
#app .border{
width: 300px;
height: 300px;
border: solid 3px chartreuse;
}
#app .shadow{
box-shadow: 0 0 10px black;
}
#app .background{
background-color: aqua;
}
#app .hover{
transition: all 1s 0s;
}
#app .hover:hover{
width: 200px;
height: 200px;
background-color: hotpink;
transition: all 1s 0s;
}
</style>
</head>
<body>
<div id="app">
<p>
<input type="checkbox" v-model="isborder"/>边框
<input type="checkbox" v-model="ishover"/>动画
<input type="checkbox" v-model="isbackground"/>背景颜色
<input type="checkbox" v-model="isshadow"/>阴影
</p>
<div v-bind:class="[
isbackground,isborder,ishover,isshadow
]">
</div>
</div>
</body>
<script src="js/vue.js"></script>
<script>
var em=new Vue({
el:"#app",
data:{
isborder:"border",
isshadow:"shadow",
isbackground:"background",
ishover:"hover",
}
});
</script>
</html>