Повторяемые занятия в Ангуляр 6 - PullRequest
0 голосов
/ 04 сентября 2018

Когда я делаю пакет классов, я использую mixins и% классы, как это в vars:

@mixin margin($value) {
    margin-top: $value;
    margin-bottom: $value;
    &-top {
        margin-top: $value;
    }
    &-bottom {
        margin-bottom: $value;
    }
}

%margin-none {
    @include margin(0px);
}
%margin-nano {
    @include margin(8px);
}

А затем я могу расширить его под теми же именами, чтобы использовать его на сайте:

$margins: (
    'none',
    'nano',
    'tiny',
    ...
);

@each $m in $margins {
    .margin-#{$m} {
        @extend %margin-#{$m};
        &-top {
            @extend %margin-#{$m}-top;
        }
        &-bottom {
            @extend %margin-#{$m}-bottom;
        }
    }   
}

Или в компонентах:

@import '../../../vars';

  .profit_column {
      @extend %margin-small-top;
      @extend %margin-small-bottom;
  }

Но, если я использую% классы, при запуске локального сайта слишком много повторяющихся классов:

Слишком много одинаковых классов

Это очень раздражает, да после минификации на продукт они исчезнут, но теперь они действительно мешают. Что я могу с этим сделать?

UPD Я знаю, если я изменю% name-of-class на

@mixin-prepend1
@mixin-prepend2
@mixin-prepend3

это поможет, но я не хочу этого делать, потому что код не будет таким элегантным)

UPD2 И я не могу использовать циклы для изготовления миксинов из массива: https://github.com/sass/sass/issues/626

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...