Vue.js中v-bind指令的用法介绍


Posted in Vue.js onMarch 13, 2022

一、什么是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>

效果图如下:

Vue.js中v-bind指令的用法介绍

四、在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>

 效果图如下:

Vue.js中v-bind指令的用法介绍

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Vue.js 相关文章推荐
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
Dec 04 Vue.js
vue+element_ui上传文件,并传递额外参数操作
Dec 05 Vue.js
vue中实现点击空白区域关闭弹窗的两种方法
Dec 30 Vue.js
vue 递归组件的简单使用示例
Jan 14 Vue.js
vue 计算属性和侦听器的使用小结
Jan 25 Vue.js
vue3中的组件间通信
Mar 31 Vue.js
如何理解Vue前后端数据交互与显示
May 10 Vue.js
vue-router中hash模式与history模式的区别
Jun 23 Vue.js
vue+element ui实现锚点定位
Jun 29 Vue.js
VUE使用draggable实现组件拖拽
Apr 06 Vue.js
vue3使用vuedraggable实现拖拽功能
Apr 06 Vue.js
Vue OpenLayer测距功能的实现
Apr 20 Vue.js
Vue2.0搭建脚手架
Vue.js中v-for指令的用法介绍
Mar 13 #Vue.js
Vue如何清空对象
Mar 03 #Vue.js
Vue中Object.assign清空数据报错的解决方案
Mar 03 #Vue.js
vue实现移动端div拖动效果
Mar 03 #Vue.js
vue实现滑动解锁功能
Vue全局事件总线你了解吗
Feb 24 #Vue.js
You might like
短波的认识
2021/03/01 无线电
浅谈php命令行用法
2015/02/04 PHP
php微信公众平台开发之获取用户基本信息
2015/08/17 PHP
深入了解PHP中的Array数组和foreach
2016/11/06 PHP
ModelDialog JavaScript模态对话框类代码
2011/04/17 Javascript
JavaScript NaN和Infinity特殊值 [译]
2012/09/20 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
js获取鼠标点击的位置实现思路及代码
2014/05/09 Javascript
javascript的BOM汇总
2015/07/16 Javascript
谈谈我对JavaScript DOM事件的理解
2015/12/18 Javascript
vuejs如何配置less
2017/04/25 Javascript
jQuery代码优化方法总结
2018/01/29 jQuery
使用Node.js实现一个多人游戏服务器引擎
2019/03/13 Javascript
Python中Django框架利用url来控制登录的方法
2015/07/25 Python
浅谈python中的变量默认是什么类型
2016/09/11 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
Django Admin中增加导出CSV功能过程解析
2019/09/04 Python
Python timer定时器两种常用方法解析
2020/01/20 Python
Python使用os.listdir和os.walk获取文件路径
2020/05/21 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
2020/07/07 Python
GitHub上值得推荐的8个python 项目
2020/10/30 Python
Python 的 f-string 可以连接字符串与数字的原因解析
2021/02/20 Python
css3实现背景颜色渐变让图片不再是唯一的实现方式
2012/12/18 HTML / CSS
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
台湾演唱会订票网站:StubHub台湾
2019/06/11 全球购物
shallow copy和deep copy的区别
2016/05/09 面试题
求职信的要素有哪些呢
2013/12/26 职场文书
打架检讨书800字
2014/01/10 职场文书
会议室标语
2014/06/21 职场文书
银行主办会计岗位职责
2014/08/13 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书
MySQL 覆盖索引的优点
2021/05/19 MySQL