返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue.js中class与style的增强绑定实现方法
  • 187
分享到

Vue.js中class与style的增强绑定实现方法

Vue.jsclass与style绑定Vue.jsclass与style 2023-05-16 20:05:33 187人浏览 独家记忆
摘要

目录一、v-bind绑定class属性(1)绑定class样式,字符串写法(2)绑定class样式,数组写法(3)绑定class样式,对象写法二、v-bind绑定内联样式style(

web前端应用中,操作元素的class列表的内联样式style是数据绑定style是数据绑定的一个常见需求,因为它们都是attribute,所有可以用v-bind处理它们,但若样式复杂,则需要书写长串的样式代码,这样一来,字符串拼接就比较麻烦。因此,在将v-bind用于class和style时,vue.js做了专门的增强,表达式结果的类型除了字符串之外,还可以是对象或数组。

一、v-bind绑定class属性

若想使用类样式(即以类名定义元素的样式,类样式一般以"."号开头命令),可以通过v-bind指令绑定class属性实现:

(1)绑定class样式,字符串写法

适用于:样式的类名不确定,需要动态指定

    <div id="root">
         <!-- 绑定class样式,字符串写法,适用于:样式的类名不确定,需要动态指定 -->
        <div class="basic" v-bind:class="moon" @click="doChange">
            {{name}}
        </div>
    </div>
    <script>
        const vm = new Vue({
            el: '#root',
            data: {
                name: "class和style增强绑定",
                moon: "nORMal"
            },
            methods: {
                doChange() {
                    var arr = ["happy", "sad", "normal"];
                    indexof = Math.floor(Math.random() * 3);
                    this.moon = arr[indexof];
                }
            }
        });
     </script>

CSS样式:

        .happy {
            border: 4px solid red;
            background-color: rgba(255, 255, 0, 0.644);
            background: linear-gradient(30deg, yellow, pink, orange);
        }
 
        .sad {
            border: 4px dashed rgb(2, 197, 2);
            background-color: gray;
        }
 
        .normal {
            background-color: skyblue;
        }

执行结果:

(2)绑定class样式,数组写法

适用于:要绑定的样式个数不确定,名字也不确定

    <div id="root">
        <!-- 绑定class样式,数组写法,适用于:要绑定的样式个数不确定,名字也不确定 -->
        <div class="basic" v-bind:class="classarr">
            {{name}}
        </div>
    </div>
    <script>
        const vm = new Vue({
            el: '#root',
            data: {
                name: "class和style增强绑定",
                classarr: ["text_1", "text_2", "text_3"],
            },
            methods: {
            }
        });
     </script>

css样式:

        .text_1 {
            background-color: yellowgreen;
        }
 
        .text_2 {
            font-size: 30px;
            text-shadow: 2px 2px 10px red;
        }
 
        .text_3 {
            border-radius: 20px;
        }

执行结果:

(3)绑定class样式,对象写法

适用于:要绑定的样式个数和名字也确定,需要动态显示 

    <div id="root">
        <!-- 绑定class样式,对象写法,适用于:要绑定的样式个数和名字也确定,需要动态显示 -->
        <div class="basic" v-bind:class="classobj">
            {{name}}
        </div>
    </div>
    <script>
        const vm = new Vue({
            el: '#root',
            data: {
                name: "class和style增强绑定",
                classobj: {
                    text_1: false,
                    text_2: true,
                    text_3: false,
                },
            },
            methods: {
            }
        });
     </script>

css样式:

        .text_1 {
            background-color: yellowgreen;
        }
 
        .text_2 {
            font-size: 30px;
            text-shadow: 2px 2px 10px red;
        }
 
        .text_3 {
            border-radius: 20px;
        }

执行结果:

二、v-bind绑定内联样式style

通过内联(style)绑定给DOM元素示例:

(1)绑定style样式---对象形式

    <div id="root">
        绑定style样式----对象形式
        <br><br>
        <div v-bind:style="styleobj" class="basic">
            {{name}}
        </div><br><br>
    </div>
    <script>
        const vm = new Vue({
            el: '#root',
            data: {
                name: "class和style增强绑定",
                styleobj: {
                    width: "300px",
                    height: "100px",
                    border: "1px solid black",
                    fontSize: "40px",
                    backgroundColor: "blue"
                },
            },
            methods: {
            }
        });
     </script>

执行结果:

 (2)绑定style样式---数组写法

    <div id="root">
         绑定style样式----数组写法
        <br><br>
        <div v-bind:style="stylearr" class="basic">
            {{name}}
        </div>
    </div>
    <script>
        const vm = new Vue({
            el: '#root',
            data: {
                name: "class和style增强绑定",
                stylearr: [
                    {width: "300px"},
                    {height: "100px"}, 
                    {border: "1px solid black"},
                    {backgroundColor:"red"},
                    {fontSize:"20px"}
                ],
            },
            methods: {
            }
        });
     </script>

执行结果:

到此这篇关于Vue.js中class与style的增强绑定的文章就介绍到这了,更多相关Vue.js class与style绑定内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue.js中class与style的增强绑定实现方法

本文链接: https://lsjlt.com/news/210517.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue.js中class与style的增强绑定实现方法
    目录一、v-bind绑定class属性(1)绑定class样式,字符串写法(2)绑定class样式,数组写法(3)绑定class样式,对象写法二、v-bind绑定内联样式style(...
    99+
    2023-05-16
    Vue.js class与style绑定 Vue.js class与style
  • Vue.js中Class与Style绑定的示例分析
    这篇文章主要介绍了Vue.js中Class与Style绑定的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Vue.js Class与Style绑定对于数据绑定,一个常...
    99+
    2023-06-26
  • Vue.2.0.5如何实现Class与Style绑定的实例
    小编给大家分享一下Vue.2.0.5如何实现Class与Style绑定的实例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Cla...
    99+
    2024-04-02
  • Vue中Class与Style绑定的示例分析
    这篇文章主要为大家展示了“Vue中Class与Style绑定的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue中Class与Style绑定的示例分析...
    99+
    2024-04-02
  • Vue中Class和Style实现v-bind绑定的几种用法
    项目开发中给元素添加/删除 class 是非常常见的行为之一, 例如网站导航都会给选中项添加一个 active 类用来区别选与未选中的样式,除了导航之外其他很多地方也都会用到这种方式...
    99+
    2024-04-02
  • Vue.js中class与样式绑定的示例分析
    这篇文章给大家分享的是有关Vue.js中class与样式绑定的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。示例如:<html> <head> &...
    99+
    2024-04-02
  • Vue绑定class和绑定内联样式的实现方法
    目录绑定class绑定内联样式绑定class 方式一: 对象语法:给 v-bind:class传 一个对象,以动态地切换 class 当对象中某key对应的值为true时,该ke...
    99+
    2024-04-02
  • python中绑定方法与非绑定方法的实现示例
    目录一:绑定方法:其特点是调用方本身自动作为第一个参数传入二:非绑定方法,静态方法一:绑定方法:其特点是调用方本身自动作为第一个参数传入 1.绑定到对象的方法:调用方是一个对象,该对...
    99+
    2024-04-02
  • Vue.js中的绑定样式实现
    目录绑定class样式1、字符串写法2、数组写法3、对象写法style 绑定样式scoped绑定class样式 1、字符串写法 <!DOCTYPE html> <...
    99+
    2024-04-02
  • vue.js实现双向绑定的方式
    Vue.js是一种流行的前端框架,它能够快速构建交互式Web应用程序和用户界面。Vue.js中最主要的特性之一就是双向数据绑定。本文将深入探讨Vue.js是如何实现双向数据绑定的以及它是如何与视图同步的。什么是双向数据绑定双向绑定是一种数据...
    99+
    2023-05-24
  • Python中绑定与未绑定的类方法用法分析
    本文实例讲述了Python中绑定与未绑定的类方法。分享给大家供大家参考,具体如下: 像函数一样,Python中的类方法也是一种对象。由于既可以通过实例也可以通过类来访问方法,所以在Python里有两种风格:...
    99+
    2022-06-04
    绑定 方法 Python
  • React组件创建与事件绑定的实现方法
    目录1、组件创建方式方式一-函数创建组件方式二-使用类创建组件2、事件绑定方式一-类组件绑定事件方式二-函数组件绑定事件周末在家,练习React,记录下来,方便查看。 本期学习Rea...
    99+
    2022-12-26
    React组件创建 React事件绑定
  • SpringBoot中@ConfigurationProperties实现配置自动绑定的方法
    目录代码构造器绑定结合@PropertySource代码 pom.xml: <xml version="1.0" encoding="UTF-8"> <projec...
    99+
    2024-04-02
  • php实现后期静态绑定的方法
    这篇文章主要介绍了php实现后期静态绑定的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。后期静态绑定工作原理是存储了在上一个“非转发调用”(...
    99+
    2024-04-02
  • python中class类与方法的用法实例详解
    目录类和方法的概念和实例1.python类:class2.类的构造方法__init__()3.类中方法的参数self4.继承5.方法重写类的特殊属性与方法类的私有属性总结因为一直不太...
    99+
    2024-04-02
  • vue实现双向绑定的方法有哪些
    在vue中实现双向绑定的方法有:1.使用v-model指令实现;2.利用.sync修饰符实现;3.使用model属性实现;在vue中实现双向绑定的方法有以下几种使用v-model指令实现双向绑定<input v-model=...
    99+
    2024-04-02
  • React中事件绑定this指向三种方法的实现
    1.箭头函数 1.利用箭头函数自身不绑定this的特点; 2.render()方法中的this为组件实例,可以获取到setState(); class App extends ...
    99+
    2024-04-02
  • SpringBoot中@ConfigurationProperties注解实现配置绑定的三种方法
    properties配置文件如下: human.name=Mr.Yu human.age=21 human.gender=male 如何把properties里面的配置绑定到Java...
    99+
    2024-04-02
  • 详解Python实现图像分割增强的两种方法
    方法一 import random import numpy as np from PIL import Image, ImageOps, ImageFilter from skim...
    99+
    2024-04-02
  • js项目中双向数据绑定的简单实现方法
    目录前言发布订阅者模式结果调用总结前言 双向数据绑定 指的是当对象的属性发生变化时能够同时改变对应的UI,反之亦然。换句话说,如果我们有一个user对象,这个对象有一个name属性...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作