第四篇 Vue中的动态切换 ( v-bind ) 1.0

发布于:2023-01-09 ⋅ 阅读:(436) ⋅ 点赞:(0)

         这一篇我们讲Vue中的动态切换,动态切换 class 和 style,用对象的写法和数组的写法进行一个内容演示;之后同样我们结合一个 v-for 完成一个小案例;

        上一篇内容讲到 v-model 可以实现数据的双向绑定,v-model是通过数据来驱动视图的,而今天讲的这个是v-bind,它是一个数据的单向绑定,因为它无法实现视图驱动数据。

一如既往,先来讲一个 v-bind 的简单例子;

v-bind 

<div id="app">
		<input type="text" v-bind:value="msg" /> 
    </div>

    <script type="text/javascript">
        new Vue({
            el:'#app',
            data:{
                msg:'请输入...'
            }
        })
    </script>

了解v-bind指令的单项绑定,同时 v-bind 可以简写成 " : ",例如 v-bind:style 可以简写成 :style

<input type="text" :value="msg" /> 

 动态切换 v-bind:class ( :class ) - 对象

  •  用对象语法写
<style>
    .classObj{
        color:#3BA776;
    }
</style>

<div id="app">
        <div :class="isClass">
            动态切换 - 对象写法
        </div>
</div>

<script type="text/javascript">
     var vm = new Vue({
         el:'#app',
          data:{
              isClass:{
                classObj:true
              }
          }
     })
</script>

isClass对象中的classObj的布尔值为true,则表示 :class = "isClass" => class = "classObj" ,字体会显示对应的样式;

当然可以通过控制台 vm.isClass = false 测试,那么如果我需要添加进去一个class样式( best )进去呢?在控制台上输入 vm.isClass.best = "true" ,返回值是true,返回到 [ Elements ] 查看结构,会发现并没有添加一个class为best的类名进去;

那么如何插队进去呢,Vue提高了这么一条通道,用这个 Vue.set( )方法 

以上就是这个动态切换class的对象写法;接下来讲动态class的数组写法;

动态切换 v-bind:class ( :class ) - 数组

<style>
    .classArr1{
        color:red;
    }
    .classArr2{
        font-size: 30px;
    }
</style>
<div id="app">
    <div :class="isClass">
        动态切换 - 数组写法
    </div>
</div>

<script type="text/javascript">
    var vm = new Vue({
        el:'#app',
        data:{
            isClass:[ 'classArr1','classArr2' ]
        }
    })
</script>

 通过 isClass数组 将所需用到的样式添加到数组中去;

那么如何添加样式和去掉不需要的样式呢?比起对象写法是不是就很容易联想到数组的添加和删除方法,往数组里添加对应的样式,删除同理;那么我们在数组的后面添加一个类名为 best 的样式,在控制台上输入 vm.isClass.push('best') ,查看[ Elements ] 查看结构,会发现后面添加一个class为best的类名进去了;

接下来我们将类名为classArr2从数组删除,样式为font-size:30px;的效果也会随之消失; 

         以上的内容就是动态切换class的对象写法和数组写法,通过 v-bind 指令绑定class 来动态控制页面的样式效果,这一篇讲完了v-bind动态控制class的用法,下一篇内容将v-bind动态控制style的用法和外加一个小案例,动态切换class和style的用法其实是同理的。


网站公告

今日签到

点亮在社区的每一天
去签到