在扩展类中更新SASS变量

在扩展类中更新SASS变量,sass,Sass,有没有办法在扩展类中更新SASS变量?例如,我目前有: .menu-highlight-1 { $child: 1; a { &:nth-child(#{$child}) { color: red !important; } } } 我想将$child变量更新到下一个元素,因此在我的尝试中,我扩展了.menu-highlight-1类,然后对$child变量进行了更改。然而,所有这些都只是突出显示扩展类中

有没有办法在扩展类中更新SASS变量?例如,我目前有:

  .menu-highlight-1 {
    $child: 1;
    a {
        &:nth-child(#{$child})  {
          color: red !important;
      }
    }
  }
我想将
$child
变量更新到下一个元素,因此在我的尝试中,我扩展了
.menu-highlight-1
类,然后对
$child
变量进行了更改。然而,所有这些都只是突出显示扩展类中的同一项

  .menu-highlight-2 {
    @extend .menu-highlight-1;
    $child: 2;
  }

这有可能吗?

使用SASS mixin解决此问题。感谢@cimmanon和这条线索:

相关:和
@mixin _menuHighlight($child) {
  a {
      &:nth-child(#{$child})  {
      color: red !important;
    }
  }
}

  .menu-highlight-1 {
    @include _menuHighlight(1);
  }

  .menu-highlight-2 {
    @include _menuHighlight(2);
  }