Используйте директиву Sass @import
для импорта внешних классов. Ваш код станет примерно таким:
// ComponentA/styless.scss
.component-a-class {
...
}
// ComponentB/styless.scss
.component-b-class{
@import "../ComponentA/styless.scss"
}
Это добавит .component-a-class
в .component-b-class
как вложенное правило.
Редактировать: Чтобы импортировать стиль, а также иметь возможность изменять одно из значений его свойств, вы должны использовать Sass mixins :
// ComponentA/styless.scss
@mixin component-a-class($width: 100) {
.component-a-class {
width: $width + px;
}
}
@include component-a-class();
// ComponentB/styless.scss
@import "../ComponentA/style.scss";
.component-b-class{
@include component-a-class(500);
}
Это даст вам то, что вы хотите, хотя и не идеально. Полученный скомпилированный файл ComponentB/styless.css
будет включать все , записанное в ComponentA/styless.scss
, поскольку директива @import
является функцией «все или ничего» (выборочный импорт отсутствует). Результат будет выглядеть так:
// ComponentB/styless.css (compiled)
.component-a-class {
width: 100px;
}
.component-b-class .component-a-class {
width: 500px;
}