前言
在vue当中,内置了一定的指令,通过这些指令可以实现数据与DOM之间的绑定,并且一旦发生了数据的绑定时,数据发生改变,DOM中相关的数据也会变化,下面我们将介绍常见的指令。一、插值
1. v-once
渲染字符串,值:无,只渲染一次,之后不会随着数据的改变而改变。
2. v-text
渲染字符串,值:string,默认样式。
3. v-html
渲染字符串,值:string,会将string中的html解析出来。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Vue.js</title>
</head>
<body>
<div id="app">
<h1>v-text</h1>
<h2 v-text="content"></h2>
<h2 v-text="contentHtml"></h2>
<hr />
<h1>v-html</h1>
<h2 v-html="content"></h2>
<h2 v-html="contentHtml"></h2>
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
let app = new Vue({
el: '#app',
data: {
content: '这是一段文本',
contentHtml: '<a href="">这是一段带有html元素的文本</a>',
},
});
</script>
</html>
4. v-for
遍历渲染,值:数组(常用)、对象
`
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Vue.js</title>
</head>
<body>
<div id="app">
<ul>
<li v-for="item in arrList">{{item}}</li>
</ul>
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
let app = new Vue({
el: '#app',
data: {
arrList: ["吃饭", "睡觉", "打豆豆"],
},
});
</script>
</html>
二、显示/隐藏
1. v-show
显示或者隐藏元素,值:boolean,原理是控制元素的display值,常用于经常显示隐藏的元素。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Vue.js</title>
<style>
.container {
width: 300px;
height: 300px;
background-color: skyblue;
}
</style>
</head>
<body>
<div id="app">
<div class="container"></div>
<div v-show="isShow" class="container"></div>
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
let app = new Vue({
el: '#app',
data: {
isShow: false,
},
});
</script>
</html>
2. v-if
显示或者隐藏元素,值:boolean,原理是控制元素中的DOM树,对于不经常显示隐藏的元素进行使用。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Vue.js</title>
<style>
.container {
width: 300px;
height: 300px;
background-color: skyblue;
}
</style>
</head>
<body>
<div id="app">
<div class="container"></div>
<div v-if="isShow" class="container"></div>
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
let app = new Vue({
el: '#app',
data: {
isShow: false,
},
});
</script>
</html>
# 三、v-on 进行事件的绑定,值:事件名,`v-on: 同等于 @`
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Vue.js</title>
<style>
</style>
</head>
<body>
<div id="app">
<!-- 以下两种绑定方式均可以触发 -->
<h2 v-on:click="clickHandler">点击我</h2>
<h2 @click="clickHandler">点击我</h2>
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
let app = new Vue({
el: '#app',
methods: {
clickHandler: function () {
window.alert("点击事件成功绑定!");
}
}
});
</script>
</html>
四、v-bing
控制元素的属性值、class、行内样式等,值:字符串、对象,v-on: 同等于 :
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Vue.js</title>
<style>
.active {
color: red;
}
</style>
</head>
<body>
<div id="app">
<h1>控制属性值:</h1>
<img v-bind:src="imgUrl" />
<hr />
<h1>控制class:</h1>
<h2>这是一段文本</h2>
<h2 v-bind:class="className">这是一段文本</h2>
<!-- v-bind简写形式 -->
<h2 :class="className">这是一段文本</h2>
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
let app = new Vue({
el: '#app',
data: {
className: 'active',
imgUrl: 'http://suzhou.chinatupai.com/Suzhou/static/pic/1598408796.jpg',
},
});
</script>
</html>
五、v-model
获取或设置元素的值,值:无,实现数据双向绑定。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Vue.js</title>
<style>
.active {
color: red;
}
</style>
</head>
<body>
<div id="app">
<h2>你输入的是:{{ content }}</h2>
<input v-model="content" type="text">
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
let app = new Vue({
el: '#app',
data: {
content: "",
}
});
</script>
</html>
总结
以上便是一些常用到的vue指令,对于 v-on 指令,感兴趣的可以加以练习,灵活地使用。最后,如果您有更好的方法,欢迎在留言区中分享;或者实际操作中遇到什么问题均可留言或者私信我,