使用商业PrimeNG Apollo主题/布局的工作项目已经从CSS转换为SCSS,其中包含一个我已经尝试修复几天的破坏项目:主题切换器。
使用SCSS / SASS选项进行样式设置时,主题更改失败。
返回的错误是:
ERROR TypeError: Cannot read property 'href' of null
相关的代码行是:
const themeLink: HTMLLinkElement = <HTMLLinkElement>document.getElementById('theme-css');
const href = themeLink.href;
在我的angular-cli.json中,我启用了SCSS作为我的默认值:
"defaults": {
"styleExt": "scss",
"component": {}
}
我在styles.scss中启用SCSS:
@import 'assets/theme/theme-blue-light.scss',
'assets/layout/css/layout-blue-light.scss'
只要你愿意专注于一个不可更改的主题并删除用户的选择,一切都有效(就主题和布局而言)。
我需要知道我是否在转动轮子并浪费时间 - 这是SCSS的一个已知限制,因为它与在运行时切换主题有关吗?换句话说,像PrimeNG这样的主题仅限于使用CSS文件,如果您打算进行实时主题更改吗?
如果没有,我到底做错了什么?