Uni-App - Class 与 Style 绑定

简介: Uni-App - Class 与 Style 绑定

为节约性能,我们将 Class 与 Style 的表达式通过 compiler 硬编码到 uni-app 中,支持语法和转换效果如下:

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 语法。

此外还可以用 computed 方法生成 class 或者 style 字符串,插入到页面中,举例说明:

<template>
    <!-- 支持 -->
    <view class="container" :class="computedClassStr"></view>
    <view class="container" :class="{active: isActive}"></view>
    <!-- 不支持 -->
    <view class="container" :class="computedClassObject"></view>
</template>

动态菜单切换示例

<template>
 <scroll-view class="menus">
  <view v-for="(menu, index) in menus" :class="[index == currentIndex ? 'menuActive' : '']">{{menu}}</view>
 </scroll-view>
</template>
<script>
export default {
 data: {
  currentIndex : 0,
  menus : [
   '新闻', '汽车', '读书'
  ]
 },
 onLoad:function(options){
  console.log("onLoad");
 },
 onHide:function(){
  console.log("onHide");
 },
 onShow:function(){
  console.log("onShow");
 }
}
</script>
<style>
.menus{width:700px; margin:0 auto; padding:20px 0px;}
.menus view{padding:8px; line-height:20px; font:38px; float:left;}
.menuActive{color:#900;}
</style>
目录
相关文章
|
XML Java Android开发
Android Studio App开发之服务Service的讲解及实战(包括启动和停止,绑定与解绑,推送服务到前台实现音乐播放器,附源码)
Android Studio App开发之服务Service的讲解及实战(包括启动和停止,绑定与解绑,推送服务到前台实现音乐播放器,附源码)
1485 0
|
7月前
|
小程序 数据安全/隐私保护 开发者
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
344 3
4. 解决uni-app开发过程中view、image等标签出现诸如“出现错误:类型“{ class: string; }”的参数不能赋给类型“.......”
4. 解决uni-app开发过程中view、image等标签出现诸如“出现错误:类型“{ class: string; }”的参数不能赋给类型“.......”
968 0
|
开发框架 JavaScript 小程序
vue , 微信小程序 , uni-app绑定变量属性
vue , 微信小程序 , uni-app绑定变量属性
399 1
uni-app推送unipush绑定/解绑别名和标签
uni-app推送unipush绑定/解绑别名和标签
295 0
|
Linux 数据安全/隐私保护 Android开发
Qt上位机开发之如何让自己的APP启动与硬件信息绑定(Win端)
Qt上位机开发之如何让自己的APP启动与硬件信息绑定(Win端)
332 0
9kr
|
Linux 网络安全
解决宝塔反代端口+开启HTTPS后无法绑定堡塔APP的问题
反代宝塔端口+开启HTTPS能够一定程度上避开恶意扫描,提升服务器安全性。 但是堡塔APP插件不够智能,无法识别反代后的链接,导致绑定出错。 本文将通过修改源码的方式解决该问题。
9kr
925 0
解决宝塔反代端口+开启HTTPS后无法绑定堡塔APP的问题
|
存储 编解码 安全
AndroidQ(10.0) system app 增加访问 sys/class/ 权限
AndroidQ(10.0) system app 增加访问 sys/class/ 权限
567 0
|
安全 Android开发 iOS开发
美国禁止绑定应用商店内购支付:苹果App Store世纪审判,Epic赢了
继韩国之后,美国也表明了自己的态度。以后在 iPhone 端玩游戏,内购项目可以走其他支付渠道了。
238 0
美国禁止绑定应用商店内购支付:苹果App Store世纪审判,Epic赢了
|
JavaScript
vue和uni-app不同的类型绑定不同的类名
vue和uni-app不同的类型绑定不同的类名