关于Vue动态绑定样式的几种方式

一、按钮数组,选中时,样式改变(小程序 + vant weapp ,其他的按照需求改改便好)

1.Template:

<view v-for="(item, index) in size" :key="index" class="standard-button-single">
  <van-button :color="active == index ? ‘#EC792F‘:‘#EEEFF0‘" :custom-class="active == index ? ‘havaSelect‘:‘standard-button‘" @click="toSelectStander(index)">{{ item }}</van-button>
</view>

2.data:

data() {

  return {

    activeClass: -1, // 0为默认选择第一个,-1为不选择

  };

},

3.methods:

toSelectStander(index) {

  this.active = index
},

4.样式(涉及到vue的样式穿透)

.standard-button-single {
  /deep/.standard-button {
    color: #808080 !important;
    border-radius: 10rpx;
    height: 62rpx;
    padding: 0 10rpx;
    margin-right: 14rpx;
  }
  /deep/.havaSelect {
    border-radius: 10rpx;
    height: 62rpx;
    padding: 0 10rpx;
    margin-right: 14rpx;
  }
}

二、正常样式绑定(使用class和style两种方法,如果只是改单一的样式属性,建议style就好)

1.Template:

<text :class="[!isPackage ? ‘text-color-select‘ : ‘text-color‘]" @click="clikeText(1)">臻选单品</text>
  <text class="textCenter">|</text>
<text :style="{ color: isPackage ? ‘#000000‘ : ‘#808080‘ }" @click="clikeText(2)">整装套餐</text>

2.样式

.text-color {
  color: #808080;
}
.text-color-select {
  color: #000000;
}

原文地址:https://www.cnblogs.com/linck/p/12334195.html

时间: 2024-10-31 01:11:10

关于Vue动态绑定样式的几种方式的相关文章

vue 绑定样式的几种方式

vue 绑定样式 对象语法 1.v-bind:class设置一个对象,动态切换class <div :class="{'active':isActive}">xxx</div> 样式是否起作用,根据isActive的布尔值是否为true 2.:class可以和class共存 <div class="static" :class="{'active':isActive,'error':isError}">xxx&

vue动态绑定class的几种方式

对象方法 -最简单的绑定(这里的active加不加单引号都可以,以下也一样都能渲染)  :class="{ 'active': isActive }"  判断是否绑定一个active :class="{'active':isActive==-1}" 或者 :class="{'active':isActive==index}" 绑定并判断多个 第一种(用逗号隔开) :class="{ 'active': isActive, 'sort':

vue组件通信的几种方式

最近用vue开发项目,记录一下vue组件间通信几种方式 第一种,父子组件通信 一.父组件向子组件传值 1.创建子组件,在src/components/文件夹下新建一个Child.vue 2.Child.vue的中创建props,然后创建一个名为message的属性 child.png 3.在App.vue中注册Child组件,并在template中加入child标签,标签中添加message属性并赋值 App2.png 4.保存修改的文件,查看浏览器 browser.png 5.我们依然可以对m

我给女朋友讲编程CSS系列(1) –添加CSS样式的3种方式及样式表的优先权

如果说,原生态就是美,那么,我们就没有必要穿衣打扮. 网页是什么? 说白了,网页就是一堆[html标签]有序的搭配,让[CSS属性值]整整容,请[Javascript语言]处理一下事件. 一个人的整容效果,很大程度上取决于Ta本人,也就是原材料,对网页来说,原材料就是html标签,因此设计优秀的html标签结构十分重要. 整容医生的作用也至关重要,割双眼皮,整容医生的基本功,不同医生割出来的效果不同. 作为一个网页设计师,我们是不是应该追求完美,尽最大努力,让网页漂亮一些. 我知道,我们往往自称

WPF设置样式的几种方式

第一种方式是直接使用Setter来进行,可以对Background等进行设置. <Window.Resources> <Style TargetType="Button"> <Setter Property="Background" Value="Red"/> </Style></Window.Resources> 第二种是直接将比较复杂一点的Style放置到Window.Resourc

python 中增加css样式的三种方式

增加css样式的三种方式: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <!--head中style是第一处写css样式的地方--> 7 <style> 8 .cl{ 9 /*背景色*/ 10 background-color

详解vue 路由跳转四种方式 (带参数)

详解vue 路由跳转四种方式 (带参数):https://www.jb51.net/article/160401.htm 1.  router-link ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1. 不带参数  <router-link :to="{name:'home'}"> <router-link :to="{path:'/home'}"> //name,path都行, 建议用name /

Vue创建组件的三种方式

1.使用 Vue.extend 来创建全局的Vue组件 <div id="app"> <!-- 如果要使用组件,直接,把组件的名称,以 HTML 标签的形式,引入到页面中,即可 --> <mycom1></mycom1> </div> <script> // 1.1 使用 Vue.extend 来创建全局的Vue组件 // var com1 = Vue.extend({ // template: '<h3&g

Angular 4 设置组件样式的几种方式

你用Angular吗? 一.介绍 如何只改动最简单的css代码,呈现完全不一样的视图效果. 第一种:最基本的设置: 图1 代码 图2 界面运行效果图 平常,想给一个label或者p等标签添加样式,我们就是这样操作,在Angular中也是一样的. 现在,如果我想要将字体换成红色呢,首先想到的就是去修改.label里的color属性值,可如果样式表是封装的或者外部引用的,不方便修改呢? 这时候就要用到ElementRef 和Renderer2了.可以去Angular 官网里搜索哟. renderer