each() 中设置变量名称

你不必在 each() 函数中使用 @value@key@index。 在 Less 3.7 中,通过 each() 函数,Less 引入了匿名混合的概念,以后可能会扩展到语法的其他部分。

匿名混合使用 #().() 的形式,以 .# 开头,就像常规混合一样。 在 each() 中,可以这样使用:

.set-2() {
  one: blue;
  two: green;
  three: red;
}
.set-2 {
  // Call mixin and iterate each rule
  each(.set-2(), .(@v, @k, @i) {
    @{k}-@{i}: @v;
  });
}

如预期的那样输出:

.set-2 {
  one-1: blue;
  two-2: green;
  three-3: red;
}

each() 函数将采用匿名混合中定义的变量名称,并将它们按顺序绑定到 @value@key@index 值。 如果你只写 each(@list, #(@value) {}),那么 @key@index 都不会被定义。