Vue的学习 ---Cap4

Posted edwords-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue的学习 ---Cap4相关的知识,希望对你有一定的参考价值。

今天我们学习内容为 “class与style绑定”。

最直观的class与style的绑定在之前的插值 ---v-bind 的时候就有提到过,为了加深印象,我们在把最基础的用法拿出来看一下。

<div id="app" :class="{active:isActive}"
   style="width: 200px;height: 200px;text-align: center;line-height: 200px;">
     Hello vue!!!
   </div>
var data = {
    seen: true,
    isActive: true,
}
var vm = new Vue({
    el: ‘#app‘,
    data:data,
})

此时,如果你去按下F12到编辑者工具栏里看的话,你会 发现 div 会被一个名为:active 的class给绑定,而active是否生效,完全取决于active后面的值 isActive,如果就像我在data对象里设置的一样,true,active这个类就会生效,若为false那么结果就是active这个类不会绑定到div上。

同时,我们还可以不止绑定一个类,在大括号里可以绑定多个类,例如:

<div id="app" :class="{active:isActive,text_style:textOn}"
   style="width: 200px;height: 200px;text-align: center;line-height: 200px;">
     Hello vue!!!
   </div>

如你所见,在active后面又多了一个text_style的class,这给予了我们更大的操作空间。

此外,v-bind(上面代码中直接简写为了 “:”,不明白的去看Cap3) 的存在是可以和普通的class共存的。例如:

<div id="app" 
   class="newClass"
   :class="{active:isActive,text_style:textOn}"
   style="width: 200px;height: 200px;text-align: center;line-height: 200px;">
     Hello vue!!!
   </div>

v-bind还支持数组模式,看代码:

<div id="app" 
   class="newClass"
   :class="[‘active‘,‘text_style‘]"
   style="width: 200px;height: 200px;text-align: center;line-height: 200px;">
     Hello vue!!!
   </div>

在数组里,active和text_style是不存在true和false两种真值的。并且他们还必须被引号所标注。

难道在数组模式下就没法实现控制这两钟属性的真值了吗?No,答案是可以的。还记得三元运算符吗,(ok?‘yes‘,‘no‘)同样,我们可以在数组里面也添加这个算法,请看代码:

<div id="app" 
   class="newClass"
   :class="[isActive?‘active‘:‘‘,textOn?‘text_style‘:‘‘]"
   style="width: 200px;height: 200px;text-align: center;line-height: 200px;">
     Hello vue!!!
   </div>

这样写是完全没用问题的,因此,目前为止我们已经可以看出v-bind这个指令的强大之处了,他能令我们在html的节点里为所欲为,是不是很强大,开不开心,意不意外?

好了,言归正传。那么同理,我们也可以把实现动态控制style的内联样式,具体请看代码

<div id="boom"
   :style="{color:color,fontSize:size}">
      Hello World!!!
   </div>
var boomData = {
    color: "red", 
    size: "50px"
}
var vmBo = new Vue({
    el: ‘#boom‘,
    data: boomData
})

这里我们就可以通过javascript的功能来操纵div的内联样式了。

同理也能使用三元运算符来对color和fontSize的真值取法,和上面的几乎一模一样,我也就不细说了。

好了,今天学的基本就是这些了,我学会了动态捆绑class类名,和动态控制style 的内联样式。

以上是关于Vue的学习 ---Cap4的主要内容,如果未能解决你的问题,请参考以下文章

Vue系统学习:6vue-router路由学习

vue跟着老马学习vue-数据双向绑定

vue学习记录---vue3.0学习

初步学习Vue

Vue学习

vue的学习之路 vue-cli与axios