首页 > 其他分享 >Vue.js -- 样式绑定

Vue.js -- 样式绑定

时间:2022-10-16 23:00:13浏览次数:48  
标签:Vue const -- app js color vue template red

前言

本文主要介绍了vue.js 样式绑定的几种形式。

class

字符串形式

代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>vue样式绑定</title>
    <script src="https://unpkg.com/vue@next"></script>
    <style>
        .red{
            color: red;
        }
        .green{
            color: green;
        }
    </style>
</head>
<body>
    <div id="root"></div>
    <script>
        const app = Vue.createApp({
            data(){
                return {
                    classString: 'red'
                }
            },
            template: ` <div :class="classString">vue样式绑定</div>`
        })
        const vm = app.mount('#root');
    </script>
</body>
</html>

页面效果: 在这里插入图片描述

对象形式

代码演示:

    <div id="root"></div>
    <script>
        const app = Vue.createApp({
            data(){
                return {
                    classString: 'red',
                    classObject:{
                        red: true,
                        green: true
                    }
                }
            },
            template: ` <div :class="classObject">vue样式绑定</div>`
        })
        const vm = app.mount('#root');
    </script>

页面样式: 在这里插入图片描述

数组形式

代码演示:

    <div id="root"></div>
    <script>
        const app = Vue.createApp({
            data(){
                return {
                    classString: 'red',
                    classObject:{
                        red: true,
                        green: true
                    },
                    classArray:['green']
                }
            },
            template: ` <div :class="classArray">vue样式绑定</div>`
        })
        const vm = app.mount('#root');
    </script>

页面效果: 在这里插入图片描述

style

字符串形式

代码演示:

    <script>
        const app = Vue.createApp({
            data(){
                return {
                    styleString:'color: yellow'
                }
            },
            template: ` <div :style="styleString">vue样式绑定</div>`
        })
        const vm = app.mount('#root');
    </script>

页面效果: 在这里插入图片描述

对象形式

background-color这种中间带-的CSS属性,在JS中要写成backgroundColor,这种驼峰式写法。

代码演示:

    <script>
        const app = Vue.createApp({
            data(){
                return {
                    styleString:'color: yellow',
                    styleObject:{
                        color: 'red',
                        // 驼峰式写法
                        backgroundColor: 'pink'
                    }
                }
            },
            template: ` <div :style="styleObject">vue样式绑定</div>`
        })
        const vm = app.mount('#root');
    </script>

页面效果: 在这里插入图片描述

组件

默认继承父组件class

代码演示:

<script>
        const app = Vue.createApp({
            data(){
                return {
                    styleString:'color: yellow',
                    styleObject:{
                        color: 'red',
                        backgroundColor: 'pink'
                    }
                }
            },
            template: ` <div :style="styleObject">
                vue样式绑定
                <demo />
                </div>`
        })
        app.component('demo', {
            template:`<div>我是子组件</div>`
        })
        const vm = app.mount('#root');
    </script>

页面效果:

在这里插入图片描述

子组件内嵌式

子组件只有一个最外层节点

代码演示:

<script>
        const app = Vue.createApp({
            data(){
                return {
                    styleString:'color: yellow',
                    styleObject:{
                        color: 'red',
                        backgroundColor: 'pink'
                    }
                }
            },
            template: ` <div :style="styleObject">
                vue样式绑定
                <demo class="green"/>
                </div>`
        })
        app.component('demo', {
            template:`
            <div>1</div>`
        })

        const vm = app.mount('#root');
    </script>

页面效果: 在这里插入图片描述

子组件有多个最外层节点

代码演示:

<script>
        const app = Vue.createApp({
            data(){
                return {
                    styleString:'color: yellow',
                    styleObject:{
                        color: 'red',
                        backgroundColor: 'pink'
                    }
                }
            },
            template: ` <div :style="styleObject">
                vue样式绑定
                <demo class="green"/>
                </div>`
        })
        app.component('demo', {
            template:`
            <div>1</div>
            <div>2</div>`
        })
        const vm = app.mount('#root');
    </script>

页面效果: 在这里插入图片描述

使用$attrs传参

代码演示:

   <script>
        const app = Vue.createApp({
            data(){
                return {
                    styleString:'color: yellow',
                    styleObject:{
                        color: 'red',
                        backgroundColor: 'pink'
                    }
                }
            },
            template: ` <div :style="styleObject">
                vue样式绑定
                <demo class="green"/>
                </div>`
        })
        app.component('demo', {
            template:`
            <div :class="$attrs.class">1</div>
            <div>2</div>
            `
        })

        const vm = app.mount('#root');
    </script>

页面效果: 在这里插入图片描述

结语

本小节到此结束,谢谢大家的观看!

如有问题欢迎各位指正

标签:Vue,const,--,app,js,color,vue,template,red
From: https://blog.51cto.com/u_15718546/5760760

相关文章

  • java数据类型以及转换
    1、java数据类型分类java数据类型可以分为基本数据类型和引用数据类型。基本数据类型分为:数值型和布尔型。数值型分为整形(byte、short、int、long)和浮点型(float、double......
  • 渲染农场是什么_云渲染农场优缺点有哪些?
    作为CGer,应该都知道渲染这一环节,渲染是CG制作的最后一道程序,是将三维场景中拟定好的参数通过特定方式最终输出成二维图像的过程,也是最终使你图像符合你的3D场景的阶段。渲......
  • java中的多态
    java中的多态父类代码如下:packageoop.Demo06;​publicclassPerson{  publicvoidrun(){    System.out.println("run"); }}​ 子类代码如下 ......
  • js列表合并以及处理响应数据
    JS实现列表元素合并 Vue做一个穿梭框的功能,需要用到合并列表元素,左列表合并到右列表。核心思路是右三个数据列表,左、右、选中method:{toRight:function(){......
  • 实验5:开源控制器实践——POX
    一、实验目的能够理解POX控制器的工作原理;通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法;能够运用POX控制器编写自定义网络......
  • k8s:cni 插件路径问题:/usr/libexec/cni ? /opt/cni/bin ?
    本质是:不同发行版、不同软件包版本,是否遵循cni标准(或标准建议)的问题。不同因素组合一块,就可能出现,一会这儿,一会那里,一会行,一会儿不行的问题! cni的接口相关文件和配置的......
  • kvm虚拟网络管理
    KVM虚拟网络概述虚拟网络类型1.KVM桥接网络——基于MACvlan的桥接网络虚拟机的虚拟网卡相当于直接连接在宿主机的物理网卡上虚拟机网卡与宿主机网卡属于同一网段2.KV......
  • 集合汇总
    1.集合的理解与好处1.1数组长度开始时必须指定,而且一旦指定,不能更改保存的必须为同一类型的元素使用数组进行增加、删除元素比较麻烦//写出Person数组的扩容示......
  • python学习第三周总结
    文件操作文件的读写模式文件的操作模式文件相关操作文件内光标移动文件内容修改函数前戏函数的语法结构函数的定义和调用函数的分类函数......
  • 爱斯曼德测评(Aspiring Minds),是目前*的职业能力测评及认证公司,由美国麻省理工学院人工
    爱斯曼德测评https://m.jobui.com/company/12939222/https://amcatcampus.aspiringminds.com/https://www.shl.com/en-in/......