2017-02-11 50 views
0

我尝试将我所有的工作流程从Sass传递到Stylus,但是我无法转换函数。Sass/Stylus转换函数迭代

这里是青菜功能

@mixin setIconInclude($icon) { 
     @each $s in $ws_icon-list { 
      @if nth($s, 1) == $icon { 
        content: nth($s, 2); 
      } 
     } 
} 

我手写笔试过,但它不工作

setIconInclude($icon) 
    for $s in $ws_icon-list 
    if foo $s 0 == icon 
     content foo $s 1 

编辑:

我的列表我在另一个文件中定义的图标。

$ws_icon-list =  "iconName1" "\f105", 
        "iconName2" "\e81f", 
        "iconName3" "\e820" 

随着我想要实现的功能,我希望能够在触控笔来访问它(SASS函数工作),但我不明白的语法。

$icon是我想要在列表中定义的图标的第一个参数。

+0

尝试更加具体的关于“不行”。你能给出一个具体的例子输入,预期的和实际的输出吗? – IMSoP

回答

1

您可以使用$s[0]$s[1]代替nth($s, 1)nth($s, 2),因为手写笔列表是从零开始:

$ws_icon-list = "iconName1" "\f105", 
       "iconName2" "\e81f", 
       "iconName3" "\e820" 

setIconInclude($icon) 
    for $s in $ws_icon-list 
    if $s[0] == $icon 
     content: $s[1] 

body 
    setIconInclude('iconName1') 
+0

非常感谢!我在其他测试中遇到了类似的情况,但没有奏效。用你的解决方案,这太棒了!非常感谢你 – Jeremy