Vue.js中v-bind指令的用法介绍
作者:.NET开发菜鸟 时间:2024-04-30 10:18:30
一、什么是v-bind指令
v-bind指令用于响应更新HTML特性,允许将一个或多个属性动态绑定到表达式。v-bind是应用在动态属性上面的。
二、语法
v-bind语法如下:
v-bind:动态属性名称="变量"
也可以简写成下面的形式:
:动态属性名称="变量"
代码示例如下:
<img :src="imgUrl" :title="title" />
这里的src和title都是<img>标签的属性,这里都是绑定到变量。
v-bind中还可以使用判断,例如:
<img :src="flag?imgUrl:imgUrl2" />
这里表示如果flag变量的值为true,那么src属性的值是变量imgUrl的值,否则src的属性值就是变量imgUrl2对应的值。
注意:只要是HTML标签的属性都可以这样去绑定属性值。
三、在class属性中使用v-bind指令
代码示例如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>在class属性中使用v-bind指令</title>
<!--引入vue.js-->
<script src="node_modules/vue/dist/vue.js" ></script>
<script>
window.onload=function(){
// 构建vue实例
new Vue({
el:"#my",// el即element,表示挂载的元素,不能挂载在HTML和body元素上面
// data表示数据,data中可以是各种数据格式
data:{
flag:true,
varStyle:"bindStyle", //值是样式的名称
style1:"colorStyle",
style2:"colorStyle2"
},
// 方法
methods:{
}
})
}
</script>
<style>
.colorStyle {
color: #ff6600;
}
.colorStyle2{
margin-top: 10px;
background-color: chartreuse;
border: 1px solid blue;
}
.bindStyle {
margin-top: 5px;
color: red;
}
.bindStyle2 {
margin-top: 5px;
color: red;
background-color: green;
}
</style>
</head>
<body>
<div id="my">
<!--单个样式引用,这里是直接写的data里面变量的名称-->
<div :class="varStyle">这里是使用v-bind改变样式</div>
<!--单个样式引用,双引号加单引号,单引号里面是样式的名称,这种方式可以不在data里面写变量-->
<div :class="'bindStyle2'">直接引用样式的名称,不需要在data里面定义变量</div>
<!--多个样式引用 使用数组的方式-->
<div :class="[style1,style2]">这里是同时使用多个样式</div>
<!--条件判断 格式:样式名:判断条件 注意:样式名不能用变量-->
<div :class="{'colorStyle2':flag}">条件判断</div>
<!--三目运算符 flag为真显示style2变量对应的样式,否则显示style1变量对应的样式-->
<div :class="flag?style2:style1">三目运算符</div>
</div>
</body>
</html>
效果图如下:
四、在style属性中使用v-bind指令
代码示例如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>style示例</title>
<!--引入vue.js-->
<script src="node_modules/vue/dist/vue.js" ></script>
<script>
window.onload=function(){
// 构建vue实例
new Vue({
el:"#my",// el即element,表示挂载的元素,不能挂载在HTML和body元素上面
// data表示数据,data中可以是各种数据格式
data:{
flag:true,//布尔型
style1:{background:'blue'},
style2:{color:'red'},
unify:"unifyStyle"
},
// 方法
methods:{
}
})
}
</script>
<style>
.unifyStyle{
margin-top: 10px;
}
</style>
</head>
<body>
<div id="my">
<!--直接写内联样式:要采用驼峰写法,中间的-去掉-->
<div :style="{color:'#f60',fontSize:'20px',marginTop:'10px'}">
内联样式
</div>
<!--单个引用-->
<div :style="style1" :class="unify">
单个引用
</div>
<!--多个样式引用-->
<div :style="[style1,style2]" :class="unify">多个样式引用</div>
<!--三目运算符-->
<div :style="flag?style1:style2" :class="unify">使用三目运算符进行判断</div>
</div>
</body>
</html>
效果图如下:
来源:https://www.cnblogs.com/dotnet261010/p/10189021.html
标签:Vue.js,v-bind,指令
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
MySQL关键字Distinct的详细介绍
2024-01-27 11:44:47
![](https://img.aspxhome.com/file/2023/9/68119_0s.png)
Django中cookie的基本使用方法示例
2022-08-13 16:49:05
JS实现选择TextArea内文本的方法
2024-04-16 10:40:02
Python语法学习之正则表达式的量词汇总
2023-07-20 03:08:59
用Python手把手教你实现2048小游戏
2023-02-22 23:27:57
![](https://img.aspxhome.com/file/2023/8/71578_0s.png)
去除HTML代码中所有标签的两种方法
2023-07-03 03:40:48
MySQL动态SQL拼接实例详解
2024-01-20 15:13:55
SQL Server 2005中数据库镜像的四个问题
2009-02-19 16:48:00
PHP session 会话处理函数
2023-11-15 14:55:53
mysql 10w级别的mysql数据插入
2024-01-16 01:42:46
python实现AES算法及AES-CFB8加解密源码
2022-06-14 01:24:01
js断点调试经验分享
2023-08-15 06:19:09
![](https://img.aspxhome.com/file/2023/7/55897_0s.png)
VC基于ADO技术访问数据库的方法
2024-01-28 22:25:08
标志设计如何正确使用字体
2009-02-16 15:41:00
![](https://img.aspxhome.com/file/UploadPic/20092/16/01-71s.jpg)
Python中的min及返回最小值索引的操作
2023-09-24 08:48:19
thinkphp实现发送邮件密码找回功能实例
2024-05-02 17:16:54
MYSQL教程:索引和查询优化程序
2009-02-27 15:52:00
MySQL七大JOIN的具体使用
2024-01-28 04:11:31
![](https://img.aspxhome.com/file/2023/8/80138_0s.png)
对Python中for复合语句的使用示例讲解
2023-07-19 17:50:44
用js+cookie记录滚动条位置
2024-06-05 09:11:02