Css 无法将预先计算的值传递给较少的mixin

Css 无法将预先计算的值传递给较少的mixin,css,less,Css,Less,我在全局范围中有一个变量,它从配置文件中获取其值。我试着在一个混血儿里把它传给一个守卫,就像这样: @metadata_line_truncate: defaulted(~"${config.metadataTruncate}", false); @showcard_width: 150px; @showcard_height: 250px; .showcard { width: @showcard_width; .set-showcard-height(@metadata_l

我在全局范围中有一个变量,它从配置文件中获取其值。我试着在一个混血儿里把它传给一个守卫,就像这样:

@metadata_line_truncate: defaulted(~"${config.metadataTruncate}", false);
@showcard_width: 150px;
@showcard_height: 250px;

.showcard {
    width: @showcard_width;
    .set-showcard-height(@metadata_line_truncate)
}

.set-showcard-height (@truncate) when (@truncate=true){
    height: @showcard_height;
}

.set-showcard-height (@truncate) when (@truncate=false){
    height: 300px;
}
然而,这不起作用。我不知道为什么。有什么办法可以让这一切顺利进行吗?
注意:当我在
.showcard
类中为
@metadata\u line\u truncate
设置静态值时,它可以正常工作。

您的
。set showcard height
mixin有两个参数,但您只使用一个参数调用它。(我假设您使用较少的端口(
dotless
?),因为引用编译器对此给出了非常明显的错误)。其次,假设它在“为
@metadata\u line\u truncate设置静态值”时对您“起作用”(但由于上述原因,它仍然不应该起作用)-您确定此
默认的
功能确实存在并且在您的环境中可用吗?如果是这样,它能够返回逻辑性较小的值?(注意
true
必须小于
true
,包括
“true”
1
等在内的任何其他内容都算作
false
)这是一个错误。我的mixin只接受一个参数。我已经更新了上面的代码。这些值在我的环境中可用。当我尝试在mixin之外访问类似的变量(或者如果我将此变量的值设置为content)时,效果很好。当我将该值直接指定给属性(同样与内容类似)时,该值在mixin中仍然可用。它对警卫不起作用。它对警卫不起作用-这基本上意味着它不是真的(很可能)。嗯,如果不知道这个
默认值是关于什么的(不是标准的Less函数),很难提出任何建议。