经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » Vue.js » 查看文章
Vue.js中v-bind指令的用法介绍
来源:jb51  时间:2022/3/14 9:45:22  对本文有异议

一、什么是v-bind指令

v-bind指令用于响应更新HTML特性,允许将一个或多个属性动态绑定到表达式。v-bind是应用在动态属性上面的。

二、语法

v-bind语法如下:

  1. v-bind:动态属性名称="变量"

也可以简写成下面的形式:

  1. :动态属性名称="变量"

 代码示例如下:

  1. <img :src="imgUrl" :title="title" />

这里的src和title都是<img>标签的属性,这里都是绑定到变量。

v-bind中还可以使用判断,例如:

  1. <img :src="flag?imgUrl:imgUrl2" />

 这里表示如果flag变量的值为true,那么src属性的值是变量imgUrl的值,否则src的属性值就是变量imgUrl2对应的值。

注意:只要是HTML标签的属性都可以这样去绑定属性值。

三、在class属性中使用v-bind指令

代码示例如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>在class属性中使用v-bind指令</title>
  8. <!--引入vue.js-->
  9. <script src="node_modules/vue/dist/vue.js" ></script>
  10. <script>
  11. window.onload=function(){
  12. // 构建vue实例
  13. new Vue({
  14. el:"#my",// el即element,表示挂载的元素,不能挂载在HTML和body元素上面
  15. // data表示数据,data中可以是各种数据格式
  16. data:{
  17. flag:true,
  18. varStyle:"bindStyle", //值是样式的名称
  19. style1:"colorStyle",
  20. style2:"colorStyle2"
  21. },
  22. // 方法
  23. methods:{
  24.  
  25. }
  26. })
  27. }
  28. </script>
  29. <style>
  30. .colorStyle {
  31. color: #ff6600;
  32. }
  33. .colorStyle2{
  34. margin-top: 10px;
  35. background-color: chartreuse;
  36. border: 1px solid blue;
  37. }
  38. .bindStyle {
  39. margin-top: 5px;
  40. color: red;
  41. }
  42. .bindStyle2 {
  43. margin-top: 5px;
  44. color: red;
  45. background-color: green;
  46. }
  47. </style>
  48. </head>
  49. <body>
  50. <div id="my">
  51. <!--单个样式引用,这里是直接写的data里面变量的名称-->
  52. <div :class="varStyle">这里是使用v-bind改变样式</div>
  53. <!--单个样式引用,双引号加单引号,单引号里面是样式的名称,这种方式可以不在data里面写变量-->
  54. <div :class="'bindStyle2'">直接引用样式的名称,不需要在data里面定义变量</div>
  55. <!--多个样式引用 使用数组的方式-->
  56. <div :class="[style1,style2]">这里是同时使用多个样式</div>
  57. <!--条件判断 格式:样式名:判断条件 注意:样式名不能用变量-->
  58. <div :class="{'colorStyle2':flag}">条件判断</div>
  59. <!--三目运算符 flag为真显示style2变量对应的样式,否则显示style1变量对应的样式-->
  60. <div :class="flag?style2:style1">三目运算符</div>
  61. </div>
  62. </body>
  63. </html>

效果图如下:

四、在style属性中使用v-bind指令

代码示例如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>style示例</title>
  8. <!--引入vue.js-->
  9. <script src="node_modules/vue/dist/vue.js" ></script>
  10. <script>
  11. window.onload=function(){
  12. // 构建vue实例
  13. new Vue({
  14. el:"#my",// el即element,表示挂载的元素,不能挂载在HTML和body元素上面
  15. // data表示数据,data中可以是各种数据格式
  16. data:{
  17. flag:true,//布尔型
  18. style1:{background:'blue'},
  19. style2:{color:'red'},
  20. unify:"unifyStyle"
  21. },
  22. // 方法
  23. methods:{
  24.  
  25. }
  26. })
  27. }
  28. </script>
  29. <style>
  30. .unifyStyle{
  31. margin-top: 10px;
  32. }
  33. </style>
  34. </head>
  35. <body>
  36. <div id="my">
  37. <!--直接写内联样式:要采用驼峰写法,中间的-去掉-->
  38. <div :style="{color:'#f60',fontSize:'20px',marginTop:'10px'}">
  39. 内联样式
  40. </div>
  41. <!--单个引用-->
  42. <div :style="style1" :class="unify">
  43. 单个引用
  44. </div>
  45. <!--多个样式引用-->
  46. <div :style="[style1,style2]" :class="unify">多个样式引用</div>
  47. <!--三目运算符-->
  48. <div :style="flag?style1:style2" :class="unify">使用三目运算符进行判断</div>
  49. </div>
  50. </body>
  51. </html>

 效果图如下:

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号