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中使用mockjs代码实例
Nov 25 Vue.js
vue 数据操作相关总结
Dec 17 Vue.js
vue实现简易的双向数据绑定
Dec 29 Vue.js
利用Vue实现简易播放器的完整代码
Dec 30 Vue.js
vue中实现点击空白区域关闭弹窗的两种方法
Dec 30 Vue.js
手写Vue源码之数据劫持示例详解
Jan 04 Vue.js
vue使用lodop打印控件实现浏览器兼容打印的方法
Feb 07 Vue.js
Vue+Bootstrap实现简易学生管理系统
Feb 09 Vue.js
HTML+VUE分页实现炫酷物联网大屏功能
May 27 Vue.js
vue使用wavesurfer.js解决音频可视化播放问题
Apr 04 Vue.js
分享一个vue实现的记事本功能案例
Apr 11 Vue.js
vue项目配置sass及引入外部scss文件
Apr 14 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
如何判断php数组的维度
2013/06/10 PHP
Laravel实现搜索的时候分页并携带参数
2019/10/15 PHP
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
了解了这些才能开始发挥jQuery的威力
2013/10/10 Javascript
Jquery 在页面加载后执行的几种方式
2014/03/14 Javascript
Javascript单元测试框架QUnitjs详细介绍
2014/05/08 Javascript
Js 正则表达式知识汇总
2014/12/02 Javascript
jQuery $.each遍历对象、数组用法实例
2015/04/16 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
nodejs微信开发之授权登录+获取用户信息
2019/03/17 NodeJs
JS中的算法与数据结构之字典(Dictionary)实例详解
2019/08/20 Javascript
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
Python获取网段内ping通IP的方法
2019/01/31 Python
Python魔法方法详解
2019/02/13 Python
Python获取时间范围内日期列表和周列表的函数
2019/08/05 Python
python迭代器常见用法实例分析
2019/11/22 Python
Python实现投影法分割图像示例(一)
2020/01/17 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
2020/04/13 Python
HTML5中原生的右键菜单创建方法
2016/06/28 HTML / CSS
介绍一下如何优化MySql
2016/12/20 面试题
管理专员自荐信
2014/01/26 职场文书
教师申诉制度
2014/01/29 职场文书
同事吵架检讨书
2014/02/05 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
《母鸡》教学反思
2014/02/25 职场文书
汽车促销活动方案
2014/03/31 职场文书
学生安全责任书范本
2014/07/24 职场文书
三八活动策划方案
2014/08/17 职场文书
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
原生JS实现飞机大战小游戏
2021/06/09 Javascript
解决pycharm下载库时出现Failed to install package的问题
2021/09/04 Python