琐事屋
每一步都是更接近目标的一步

为了节约性能,我们将Class与Style的表达式通过compiler硬编码到uni-app中

支持语法和转换效果如下:

Class支持语法:

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

Style支持语法:

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

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

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

1 <template>
2     <!-- 支持 -->
3     <view class="container" :class="computedClassStr"></view>
4     <view class="container" :class="{active: isActive}"></view>
5     <!-- 不支持 -->
6     <view class="container" :class="computedClassObject"></view>
7 </template>

 

posted on 2019-04-24 17:00  六耳石猴  阅读(12383)  评论(0编辑  收藏  举报