目前,我通过将主题类附加到正文
来创建多个主题InvalidCastException
并创建一个主题mixin,然后将主题变量传递给各种组件mixin
<body class="dark-theme"></body>
styles.less
.dark-theme {
@primary: #...;
@secondary: #...;
...
.theme(@primary, @secondary, ...) {
.btn(@primary);
.btn(@secondary);
...
.form-fields(@primary, @secondary);
...
}
}
.light-theme {
@primary: #...;
@secondary: #...;
...
.theme(@primary, @secondary, ...) {
.btn(@primary);
.btn(@secondary);
...
.form-fields(@primary, @secondary);
...
}
}
.angular-cli.json
@import './themes/light.theme.less';
@import './themes/dark.theme.less';
...
这种方法的主要问题是所有不必要的样式/文件被加载。
我想知道是否有更好的方法来解决这个问题?
理想情况下,我只是加载黑暗主题而不是暗主题,光主题,......主题等,或者可能动态更改变量并重新编译?
提前致谢。