基本色を変更するだけで、より複雑な ExtJS 4 のカスタム テーマを作成しようとしています。したがって、おそらくこれは、テーマ自体よりも SASS に関する質問です。
ExtJS はすべてのコンポーネントに対して mixin を宣言しますが、これらの多くの mixin にはパラメーターがありません。
@mixin extjs-menu {
.#{$prefix}menu-body {
@include no-select;
background: $menu-background-color !important;
padding: $menu-padding;
}
...
}
たとえば、これはメニュー ミックスインです。ご覧のとおり、これらは mixin パラメーターを使用していません。代わりに、すべてのメニューに影響するグローバル変数を使用しています。
したがって、このコンポーネントを変更するために、次のことを行っていました。
$menu-background-color: red;
@include ext-menu
しかし、アプリに複数のメニューがあり、それぞれに異なる外観が必要な場合はどうなるでしょうか。何か案は?
私の考えは、自分の変更で mixin を作成し、ext-menu mixin を呼び出すことでしたが$menu-background-color: red
、mixin 内で宣言することがグローバル変数に影響するかどうかはわかりません。