召隆企博汇论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2400|回复: 0

小程序 如何在wxss中使用js里的变量?

[复制链接]

1

主题

3

回帖

144

积分

注册会员

Rank: 2

积分
144
发表于 2020-7-24 15:38:48 | 显示全部楼层 |阅读模式
本帖最后由 liwp 于 2020-7-27 12:07 编辑 # }+ R) e& B9 {( B9 i' i9 G6 j2 F

. c7 U; I3 m3 Gwxml:( _( }2 W# M- a0 x- _
  1. <view class="comments_box" style="{{unfold?'max-height:'+GoodsInfo.reviewList.length*80+20+'rpx;':''}}">
    ) b5 I9 w5 `+ i
  2.     <view class="unfoldText" wx:if="{{GoodsInfo.reviewList.length>1}}" bindtap="clickUnfold">{{unfoldText}}</view>: @$ B0 P! q4 q$ `* M
  3.     <block wx:for="{{GoodsInfo.reviewList}}" wx:key='index'>
    ! _3 E; ^; |* T- k
  4.         <view class="comments_box_list" style='transition: transform 300ms linear 0ms;transform: translateY(-{{unfold?0:((GoodsInfo.reviewList.length<1)?(index==0?(1-GoodsInfo.reviewList.length)*30:(1-GoodsInfo.reviewList.length+index)*30):index*30)}}rpx);'>
    ) n8 i' {! I4 @, z
  5.             <view class="comments_box_list_left">{{item.ReviewAppellation}}</view>
    9 v4 [, @  p: B+ Q* a1 x% Z
  6.             <view class="comments_box_list_right">{{item.ReviewContent}}</view> 2 L  W8 g+ ]/ B& Z% q! M
  7.         </view>% [. i2 `; ^! s4 U' T
  8.     </block>
    8 W4 X4 f, v+ s& Q; L
  9. </view>
复制代码
wxss:' v% @9 h+ w, c3 M9 n
  1. .comments_box{0 ]6 ^, X# }. |7 F4 L
  2.   margin-top: 20rpx;
    . R9 }0 b3 m1 t7 Z; c  V
  3.   width: 100%;% f  c# K; J" D" C3 N, B
  4.   overflow: hidden;1 W: ?3 S; o2 k+ g* u
  5.   transition: max-height 0.5s;# `& A9 b/ R1 I0 B
  6.   overflow: hidden;4 l* u4 m+ e5 `5 m
  7.   max-height: 105rpx;4 {1 ^: l8 Q. X  E- \
  8. }
复制代码
我这里是使用动画来控制comments_box这个view的高度(max-height)变化时的过渡效果,我在wxss中给定固定值测试是可以实现效果的,但是因为这个view的高度是随数据变化的,所以我只能在wxml中通过GoodsInfo.reviewList的数组长度计算出高度之后赋值,结果测试后发现没有动画效果。
( }0 D$ h0 u- B' B所以我想在wxss中来使用GoodsInfo.reviewList的数组长度来计算高度,百度了一下,发现都是在wxml中使用的,跟我想要的不一样。
& {% E" `' k3 ^5 ]/ p  k+ J
* _3 d0 a& c/ e4 r
- j1 w, o( N/ u. r% ^; L
; r& [" J+ k' {$ }1 r. a

* B1 V# |) W2 V
7 J; ~! Q9 f& c% g( P# X& Z% }- U0 M& U4 B1 M
. p& _1 _' ?/ d2 K$ M# r
已解决:

9 V4 Z6 x. c: r7 D1 v! r. \5 i
在开发过程中,通常碰到样式非固定的情况,这时候就要使用变量来规定样式,例如,一个view的宽度需要使用变量:
1. 在wxss中,定义变量:width:var(--width--);
2. 在js中,定义变量:viewWidth,并给这个变量赋予想要的值
3. 在xml中,使用wxss中的变量和js中的变量:style="--width--: {{ viewWidth }}px"

; o( F# ^$ N- J* B: q3 n4 Q: Y
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|召隆企博汇 ( 粤ICP备14061395号 )

GMT+8, 2026-3-14 15:26 , Processed in 0.038832 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表