在手写笔混合中设置默认值

Set default value in stylus mixin

使用手写笔我想创建一个基于 locale 选项使用正确图像的混合。

mixin

    locale-image(name, locale)
      if locale is not defined
         locale = 'en-US'
      background-image url('../images/'locale'/'name'.jpg')

用法示例:

.us-image
    locale-image('my-us-image')

.ge-image
    locale-image('my-german-image', 'de-DE')

基本上有没有办法像美国的例子那样省略一个参数?我如何修改我的 mixin 以支持它?

是的,您可以使用 argument defaults:

  locale-image(name, locale = 'en-US')
    background-image url('../images/' + locale + '/' + name + '.jpg')

  .us-image
    locale-image('my-us-image')

  .ge-image
    locale-image('my-german-image', 'de-DE')