// 指定单个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'}}" />
因为你的外层是双引号,里面就单引号
<view class="{{showStudioMenu ? 'tabbar studioMenu' : 'tabbar tabs'}}" />
(一开始尝试使用双引号,也是报错,就没有尝试单引号,这里为什么用单引号就可以呢? - -)