Less 在不太像SASS使用父母的情况下使用边界元法

Less 在不太像SASS使用父母的情况下使用边界元法,less,bem,Less,Bem,我试图引用基类来更改基于边界元修改器的子类 这在SASS中效果很好,但我现在用的更少了 这里是SASS参考资料。。。 这是不起作用的代码 .s-body { @self: &; ... &__door { ... &--state-past { #{@self}__image { ... } } } &__image { ... } } 在LESS中不可能使用符

我试图引用基类来更改基于边界元修改器的子类

这在SASS中效果很好,但我现在用的更少了

这里是SASS参考资料。。。

这是不起作用的代码

.s-body {
  @self: &;
  ...
  &__door {
    ...
    &--state-past {
      #{@self}__image {
          ...
      }
    }
  }
  &__image {
    ...
  }
}

在LESS中不可能使用符号(&)将当前类分配给变量。但您可以将类名设置为如下所示的变量:

.s-body {
  @self: .s-body;
}
之后,您可以像这样使用变量作为选择器:
@{self}
。如需进一步解释,请查看LESS文档:

在您的示例中,这将导致以下代码:

.s-body {
  @self: .s-body;
  
  &__door {
    
    &--state-past {
      @{self}__image {
          
      }
    }
  }
  &__image {
    
  }
}