Uni-app 微信小程序中Class绑定与Style绑定和vue官网怎么就不一样呢?uni-app怎么绑定class?

10 篇文章 0 订阅
9 篇文章 0 订阅

Uni-app 微信小程序 中Class绑定与Style绑定和vue官网不一样

Class支持语法:

<view :class="{ active: isActive }">111</view>
<view class="static" v-bind:class="{ active: isActive, 'text-danger': hasError }">222</view>
<view class="static" :class="[activeClass, errorClass]">333</view>
<view class="static" v-bind:class="[isActive ? activeClass : '', errorClass]">444</view>
<view class="static" v-bind:class="[{ active: isActive }, errorClass]">555</view>

Style支持语法:

<view v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }">666</view>
<view v-bind:style="[{ color: activeColor, fontSize: fontSize + 'px' }]">777</view>

不支持Vue官方文档:Class与Style绑定中的classObject和styleObject语法.

总结:
如果想实现多个样式的控制,可以使用字符串String,但是不能用对象Object
也可以用computed方法生成class或style字符串,插入到页面中。
当然也可以使用props以字符串的格式进行参数传入
可以通过控制参数控制style或class的是起作用

支持与不支持的比较

<template>
    <!-- 支持 -->
    <view class="container" :class="computedClassStr/propsClassStr"></view>
    <view class="container" :class="{active: isActive}"></view>
    <view class="file_item" :class="{shadow:hasShadow}"></view>
    <!-- 不支持 -->
    <view class="container" :class="computedClassObject"></view>
    
</template>
props:{
  // 默认有阴影
  hasShadow: {
	type: Boolean,
	default: true
  },
}
.shadow {
	box-shadow: 0px 1px 7px 0px rgba(0, 0, 0, 0.11);
	margin-bottom: 30rpx;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值