在LESS中将变量附加到自身

时间:2012-06-20 19:58:18

标签: variables less

是否可以将变量与自身连接起来?

@varA: "hello ";
@varB: "world";

@varA: "@{varA}@{varB}";

(输出“你好世界”)

我能够做到这一点,

@varA: "hello ";
@varB: "world";

@varC: "@{varA}@{varB}";

但是关于使用变量本身似乎打破了一切。这是一个很少的错误吗?

2 个答案:

答案 0 :(得分:2)

只需少量安装就可以试试看,确实是第一种方式尝试

stack_overflowError: Maximum call stack size exceeded in <file>
1 @varB: "world";

实际上,为自身分配变量会导致相同的错误。我已经查看了源代码,我无法确定是什么导致了它(尽管由于错误的性质,我们可以相当容易地猜出)。就文档而言,它提到变量是常量,但是在做了一些测试之后,我发现你实际上可以定义一个与旧变量同名的新变量。所以:

@vA = "hi";
@vA = "hello";

实际上会起作用,当你以后使用vA时,它的值为&#34;你好&#34;。  如果您确实发现需要临时变量,我建议您只使用临时变量。

只要你想要保留@tmp并使用它,只要你不尝试根据自己定义一个新的@tmp。

答案 1 :(得分:-1)

试试这个

@varA: hello;
@varB: world;

@varC: @varA@varB;


.test {
  text: @varC;
}

编译时会产生这种结果

.test {
  text: hello world;
}

或试试这个:

@varA: hello;
@varB: world;

@varC: "@{varA} @{varB}";


.test {
  text: @varC;
}

要得到这个:

.test {
  text: "hello world";
}