【问题标题】:Stylus passing iteration variables to mixin argument手写笔将迭代变量传递给 mixin 参数
【发布时间】:2015-02-25 22:14:35
【问题描述】:

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

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

它不起作用。第 3 行出现错误,将“num”赋予 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)

提前感谢您的宝贵时间!

【问题讨论】:

    标签: css stylus


    【解决方案1】:

    我在查看代码时(在解决您的问题之前)的第一个假设是,通常在处理列表或数组时,第一项将位于位置 0...等等。因此,与其说 1-3,我认为应该是 0-2。试试:

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

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

    【讨论】:

    • 感谢您的快速回复! for num in (1..3) &.item{num} sprite('$sprite-item' + num) 以上似乎有效。但是另一个问题..变量“$sprite-item1”、“$sprite-item2”和“$sprite-item3”不被视为变量,而是字符串..
    【解决方案2】:

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

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

    【讨论】:

    • 我明白了。感谢您的方法!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    • 2014-03-30
    • 1970-01-01
    • 2020-06-13
    • 1970-01-01
    • 2021-10-01
    • 2021-05-16
    相关资源
    最近更新 更多