手写笔将迭代变量传递给mixin参数

时间:2015-02-25 02:58:41

标签: css stylus

我正在努力将循环变量设置为mixin。

for num in (1..3)
  &.item{num}
    sprite($sprite-item{num})

它不起作用。在第3行中出现错误,给出" num" to sprite()mixin。

以下是成功编译的,但是没有按预期工作,因为给定的参数是字符串,而不是变量。如何在for循环迭代中配置动态变量???

for num in (1..3)
  &.item{num}
    sprite('$sprite-item' + num)

没有循环功能,代码将是

&.item1
    sprite($sprite-item1)
&.item2
    sprite($sprite-item2)
&.item3
    sprite($sprite-item3)

提前感谢您的时间!

2 个答案:

答案 0 :(得分:0)

我在查看代码时(在遇到问题之前)的第一个假设是,通常在处理列表或数组时,第一个术语将位于位置0 ......依此类推。因此,我不会说 1-3 ,而是认为 0-2 。尝试:

for num in (0..2)
    &.item{num}
        sprite($sprite-item{num})

这只是一个有根据的猜测,但因为我没有足够的信息来真正看一看。

答案 1 :(得分:0)

Stylus不支持变量插值,但您可以使用lookup bif执行此任务。例如:

for num in (1..3)
  &.item{num}
    sprite(lookup('$sprite-item' + num))