Vue绑定属性 绑定Class 绑定style

待我称王封你为后i 2022-03-25 09:36 562阅读 0赞

vue是如何绑定属性和class以及style的

下面我将会插入一段代码,本人在代码里做了相当详细的注释。

  1. <template>
  2. <!-- vue 的模板里面,所有的内容要被一个根节点包含起来-->
  3. <div id="app">
  4. <h3>{
  5. {msg}}</h3> <!-- 绑定业务逻辑里的数据-->
  6. <br>
  7. <div v-bind:title="title">鼠标悬停试试看,冒号后面的title是固定语法,详情可见官方文档</div>
  8. <hr>
  9. <img src="./assets/M.jpg"/>
  10. <br>
  11. <br>
  12. <!-- 绑定属性 -->
  13. <img v-bind:src="url"/><!-- 绑定了业务逻辑层里的url-->
  14. <!-- 与下面这句语法效果一样 -->
  15. <br>
  16. <img :src='url'/>
  17. <br>
  18. <br>
  19. <!--绑定HTML -->
  20. {
  21. {h}}
  22. <!--与下面显示效果完全不同,请注意页面的显示-->
  23. <div v-html="h"></div>
  24. <br>
  25. <br>
  26. <!-- 绑定数据的另一种方法 -->
  27. <div v-text="msg">
  28. </div>
  29. <br>
  30. <br>
  31. <!-- v-bind:class :class的使用 -->
  32. <div v-bind:class="{ 'red':flag}"> <!--red为在style中定义的一个class,会使用到'red' class里定义的样式。 flag为引用的一个属性(为true时执行),在逻辑层里定义-->
  33. <!-- <div v-bind:class="'red'"> 这种语法格式就是普通格式,没有引用flag属性 -->
  34. 我是第一个div
  35. </div>
  36. <br>
  37. <br>
  38. <div :class="{ 'red':flag,'blue':!flag}"> <!--与上一种语法说明同理,只不过是多了一个'blue' class -->
  39. 我是第二个div
  40. </div>
  41. <br>
  42. <br>
  43. <!-- 循环数据 第一个数据高量 -->
  44. <ul>
  45. <li v-for="(item,key) in list"><!--可以看到增加了一个key,key为索引值从0开始-->
  46. {
  47. {key}}---{
  48. {item}} <!--在页面中仔细查看输出-->
  49. </li>
  50. </ul>
  51. <br>
  52. <ul>
  53. <li v-for="(item,key) in list" :class="{ 'red':key==0,'blue':key==1}">
  54. <!-- 这里的class指定了 key=0应用'red'样式,key=1应用'blue'样式-->
  55. {
  56. {key}}---{
  57. {item}}
  58. </li>
  59. </ul>
  60. <br>
  61. <br>
  62. <!-- v-bind:style :style的使用 -->
  63. <div class="box" v-bind:style="{ 'width':boxWdith+'px','height':boxHeight+'px'}">
  64. <!--应用'box'class——>绑定style属性——>手动改变width属性值需在逻辑层里添加boxWidth数据,height属性同理-->
  65. <!--绑定class也可以用到上面所说的语法,<div v-bind:style="{'width':boxWdith+'px'}" :class="'box'">-->
  66. 我是另一个div
  67. </div>
  68. </div>
  69. </template>
  70. <script> export default { // 表示将组件暴露出去 // name: 'App', 给组件起个名字,可以删除 data () { //业务逻辑里定义的数据 return { msg: '今天依然很好', // msg: "今天依然很好" 这里单引号和双引号是一样的结果 title:'这里是个标题', //url:require('./assets/M.jpg'), //在这里定义了url url:'./static/M.jpg', //此种路径问题也是一个重点问题,在此先不做讲解 h:'<h3>这里是一个h标签</h3>', //在逻辑层里写上HTML,需要在template绑定才可以正常显示 flag:true, list:['123','456','789'], boxWdith:500, boxHeight:500 } } } </script>
  71. <style> .red{ color: red; } .blue{ color:blue; } .box{ height: 100px; width: 100px; background: red; } </style>

最后的运行效果是这样的

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述每一幅图都是连在一起的,一共有三张图。关于src路径问题,我将会在下一篇文章里做详细讲解。
这是自己在学习过程中所作的一个小总结,若有疑问或是不解请在下方评论,谢谢。

发表评论

表情:
评论列表 (有 0 条评论,562人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Vue style

    在Vue项目中,如果懒得写class属性,想直接将属性写在style上(我知道这不是一个好习惯)要怎么操作呢? 官方实例 <!-- style 绑定 -->

    相关 Vue classstyle

    关于vue中class和style的绑定,我们在本篇主要是为大家说明一下该怎么使用v-bind来进行处理。 首先我们看下class的几种绑定方式: 1.对象语法 通过v