Vue官网教程-Class与Style绑定

就是给挂载后,里面的元素动态的添加class

<style>
        .red{
            background-color: red;
        }
    </style>

    <div id="app">

        <!-- 绑定class = red,然后red是否显示,与isRed有关。 -->
        <div v-bind:class="{red:isRed}">Hello World</div>

    </div>

    <script>
        var vm = new Vue({
            el:'#app',
            data:{
                isRed:true
            }
        })
    </script>

 

 

在控制台,改变isRed的值

 

 

多个class也可以

<style>
        .red{
            background-color: red;
        }

        .big{
            font-size: 30px;
        }
    </style>

    <div id="app">

        <!-- 绑定class = red,然后red是否显示,与isRed有关。 -->
        <!-- 多个class,用逗号分隔即可 -->
        <div v-bind:class="{red:isRed,big:isBig}">Hello World</div>

    </div>

    <script>
        var vm = new Vue({
            el:'#app',
            data:{
                isRed:true,
                isBig:true
            }
        })
    </script>

 

 

渲染之后,就是直接把这些类加到了div里面。

 

可见,这种方法就是,先把所有要用到的类先写上去,然后通过取值是否为true来使用。

 

可以换另一种写法,通过一个类把所有的类包裹起来,vue会自己解析。

这种写法的好处是,不需要使用isBig,isRed这些变量来存值。直接使用类名即可。

<style>
        .red{
            background-color: red;
        }

        .big{
            font-size: 30px;
        }
    </style>

    <div id="app">

        <div v-bind:class="classObject">Hello World</div>

    </div>

    <script>
        var vm = new Vue({
            el:'#app',
            data:{
                classObject:{
                    // 这里写的就是具体的类名,不是变量名了
                    red:true,
                    big:true
                }
            }
        })
    </script>

 

效果是一样的

值变了,也能显示

 

 

其他什么数组语法。。。感觉不太好用,知道有那么个回事就好了。

 

用在组件

 

不止类,其他的比如指令,用在组件标签上的,也是会渲染到组件模板的根标签

 

 

 

 内联样式,不是标签的属性值哦。

而是写在标签里面的CSS,如果不想额外去声明一个类,而是直接改变某个元素的style,这样也不错。

但是就是比较麻烦

 

<div id="app">

        <div v-bind:style="styleObject">Hello World</div>

    </div>

    <script>
        var vm = new Vue({
            el:'#app',
            data:{
                styleObject:{
                    // 直接写css属性,以及对应的值
                    color:'red',
                    fontSize:'20px'
                }
            }
        })
    </script>

 

转载于:https://www.cnblogs.com/weizhibin1996/p/9535168.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值