收藏
回答

【已解决】wxml使用三元运算符设置class不支持多个class同时指定?

// 指定单个class,正常
<view class="{{showStudioMenu ? studioMenu : tabs}}" />

// 指定多个class,报错
<view class="{{showStudioMenu ? tabbar studioMenu : tabbar tabs}}" />


报错信息

[ WXML 文件编译错误] 
Error 2: ./custom-tab-bar/index.wxml:1:12: Bad attr `class` with message: unexpected token `studioMenu`.
(env: macOS,mp,1.05.2204180; lib: 2.24.0)


[ WXML 文件编译错误] ./custom-tab-bar/index.wxml
 Bad attr `class` with message
> 1 | 
    |           ^
  2 | 
  3 |     
  4 |     
at files://custom-tab-bar/index.wxml#1(env: macOS,mp,1.05.2204180; lib: 2.24.0)



WAServiceMainContext.js:2 Uncaught FrameworkError 
 Unexpected token '<' 
 SyntaxError: Unexpected token '<'(env: macOS,mp,1.05.2204180; lib: 2.24.0)


SyntaxError: Unexpected token '<'(env: macOS,mp,1.05.2204180; lib: 2.24.0)



-----------------------

已解决,不管是单个class还是多个class都需要加单引号,否则即使不报错,样式也会丢失。

正确用法

<view class="{{showStudioMenu ? 'tabbar studioMenu' : 'tabbar tabs'}}" />
最后一次编辑于  2022-04-28
回答关注问题邀请回答
收藏

2 个回答

  • zhiou
    zhiou
    2022-04-28

    因为你的外层是双引号,里面就单引号

    2022-04-28
    有用 1
    回复 1
    • 从君华
      从君华
      发表于移动端
      2022-04-28
      明白了,谢谢。
      2022-04-28
      回复
  • 跨商通
    跨商通
    2022-04-28
    <view class="{{showStudioMenu ? 'tabbar studioMenu' : 'tabbar tabs'}}" />
    
    
    2022-04-28
    有用 1
    回复 1
    • 从君华
      从君华
      2022-04-28
      感谢,已解决。


      (一开始尝试使用双引号,也是报错,就没有尝试单引号,这里为什么用单引号就可以呢? - -)
      2022-04-28
      回复
登录 后发表内容