如果字符串不是空条件逻辑,则减少

Joh*_*ohn 2 css less dotless

我正在使用dotless从管理页面动态更改我的网站外观.

本质上,我使用正则表达式来读取less中定义的变量,然后为用户提供更改变量值的选项.

我想要选择设置背景图像.基本上我需要一种方法来检查字符串是否为空,如果它不是然后添加背景图像mixin.

@BackgroundImage: '';

.showBackground(@fileName) when (@fileName != '') {
    background-image: url('../Themes/images/backgrounds/@{fileName}');
}

body {
    .showBackground(@BackgroundImage)
}
Run Code Online (Sandbox Code Playgroud)

因此默认情况下没有背景''当用户设置背景时,变量@BackgroundImage将被设置为'backgroundImage1.jpg'

如何让这个空字符串逻辑工作?

PS我已经尝试将变量设置为#000000并使用isstring()但它似乎返回true.

thg*_*ell 8

你想用when not而不是否定条件.

.showBackground(@fileName) when not (@fileName = '') {
    background-image: url('../Themes/images/backgrounds/@{fileName}');
}
Run Code Online (Sandbox Code Playgroud)

产量

@BackgroundImage: ''; // No output.
@BackgroundImage: 'foo'; // background-image: url('../Themes/images/backgrounds/foo');
Run Code Online (Sandbox Code Playgroud)