我有两个mixin使用相同的表达式来计算值@c,但该值适用于不同的属性。
.mixin1(@a, @b){
@c: /* some complex expression with @a and @b */;
width: @c;
}
.mixin2(@a, @b){
@c: /* same expression like in mixin1 */;
height: @c;
}
如何取出表达以在各种混音中重复使用?
答案 0 :(得分:2)
您可以使用mixins来模拟函数:
.mixin1(@a, @b) {
.my-complex-expression(@a, @b);
width: @result;
}
.mixin2(@a, @b) {
.my-complex-expression(@a, @b);
height: @result;
}
.my-complex-expression(@a, @b) {
@result: ((@a + @b) / 2);
}
(请注意,它可能是每个范围的唯一@result
变量,因此在实际项目代码中,可以使用一些长的“唯一”名称作为“返回变量”。例如@<function-name>-result
左右...)