美文网首页让前端飞
Vue.js初次尝试,Class与 Style绑定(九)

Vue.js初次尝试,Class与 Style绑定(九)

作者: 葉糖糖 | 来源:发表于2018-11-17 17:49 被阅读3次

    HTML页面中会出现JavaScriptCSS,JavaScript到目前为止我们已经会在Vue中使用了,那么CSS呢?

    一、盲人摸象,静观其变

    对于有Web开发经验的童鞋来说,他会选择定义一个样式,然后在HTML元素上加上class或者id等。恭喜你,这些方式都可以达到效果。那么在Vue中可以不可以绑定ClassStyle呢?

    Vue中可以使用v-bind指令来绑定classstyle,表达式可以是简单的字符串对象数组

    如下示例中演示了传统样式的写法与简单的Vueclass绑定。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Class与Style绑定</title>
        <!-- 开发环境版本,包含了有帮助的命令行警告 -->
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <!--自定义页面样式,学习环境这样写;正式项目最好,将样式分离出去。-->
        <style type="text/css" rel="stylesheet">
            /*默认样式*/
            .defStyle{
                font-family: "Arial Black";
                width: 60%;
                height: 40%;
                text-align: center;
                background-color: aquamarine;
            }
    
            /*动态添加样式*/
            .active{
                font-size: 24px;
                color: yellow;
            }
        </style>
    </head>
    <body>
    <div id="app">
        <!--同时绑定2个样式-->
        <div class="defStyle" v-bind:class="{active}">
            Hello SugarYe
        </div>
    </div>
    </body>
    </html>
    
    <script type="text/javascript">
    
        var vm =new Vue({
            el:"#app",
            data:{
                active:'.active'
            }
        })
    </script>
    

    二、一探到底,原形毕露

    客官,请看图!

    审查元素

    可以看出div元素中包含了2个样式,一个是默认的.defStyle,另一个是通过Vue绑定的.active样式。可以看出来,v-bind的样式可以和普通的样式共存

    PS:如果想通过一个属性来控制样式是否显示,这个需求该怎么实现呢?想一想。其实很简单,可以在绑定的样式后面追加一个参数。请看如下代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Class与Style绑定</title>
        <!-- 开发环境版本,包含了有帮助的命令行警告 -->
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <!--自定义页面样式,学习环境这样写;正式项目最好,将样式分离出去。-->
        <style type="text/css" rel="stylesheet">
            /*默认样式*/
            .defStyle{
                font-family: "Arial Black";
                width: 60%;
                height: 40%;
                text-align: center;
                background-color: aquamarine;
            }
    
            /*动态添加样式*/
            .active{
                font-size: 24px;
                color: yellow;
            }
        </style>
    </head>
    <body>
    <div id="app">
        <!--根据isActive属性来选择是否绑定active样式-->
        <div class="defStyle" v-bind:class="{active:isActive}">
            Hello SugarYe
        </div>
    </div>
    </body>
    </html>
    
    <script type="text/javascript">
        var vm =new Vue({
            el:"#app",
            data:{
                active:'.active',
                isActive:false
            }
        })
    </script>
    

    这样就能愉快的控制一个样式的生效与否,是不是感觉很简单呢?接下来,会一起学习Style绑定。敬请期待!

    相关文章

      网友评论

        本文标题:Vue.js初次尝试,Class与 Style绑定(九)

        本文链接:https://www.haomeiwen.com/subject/gififqtx.html