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 插槽简介及使用示例
Nov 19 Vue.js
Vue实现小购物车功能
Dec 21 Vue.js
vue实现图书管理系统
Dec 29 Vue.js
Vue 修改网站图标的方法
Dec 31 Vue.js
vue项目如何监听localStorage或sessionStorage的变化
Jan 04 Vue.js
vue编写简单的购物车功能
Jan 08 Vue.js
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
Mar 01 Vue.js
原生JS封装vue Tab切换效果
Apr 28 Vue.js
Vue3.0 手写放大镜效果
Jul 25 Vue.js
vue-cil之axios的二次封装与proxy反向代理使用说明
Apr 07 Vue.js
vue自定义右键菜单之全局实现
Apr 09 Vue.js
vue动态绑定style样式
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
几种显示数据的方法的比较
2006/10/09 PHP
PHP 地址栏信息的获取代码
2009/01/07 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
Avengerls vs KG BO3 第二场2.18
2021/03/10 DOTA
jQuery 对象中的类数组操作
2009/04/27 Javascript
鼠标事件延时切换插件
2011/03/12 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
2015/08/25 Javascript
使用ajaxfileupload.js实现上传文件功能
2016/08/13 Javascript
JS实现简单的二元方程计算器功能示例
2017/01/03 Javascript
js实现简单的手风琴效果
2017/02/27 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
分析JavaScript数组操作难点
2017/12/18 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
Vue EventBus自定义组件事件传递
2018/06/25 Javascript
不得不知的ES6小技巧
2018/07/28 Javascript
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
2018/10/31 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
详解Python的Django框架中的templates设置
2015/05/11 Python
浅谈Python中带_的变量或函数命名
2017/12/04 Python
python实现requests发送/上传多个文件的示例
2018/06/04 Python
python 多进程队列数据处理详解
2019/12/23 Python
Python3的socket使用方法详解
2020/02/18 Python
学习Python需要哪些工具
2020/09/04 Python
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
《这儿真好》教学反思
2014/02/22 职场文书
2014年教研活动总结范文
2014/04/26 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
2014年人事工作总结范文
2014/11/19 职场文书
学校推普周活动总结
2015/05/07 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
Python3 类型标注支持操作
2021/06/02 Python
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android