#nebular #ngx-admin
Вопрос:
Я создал дочернюю тему, расширив тему по умолчанию дополнительными переменными
import { NbJSThemeOptions, DEFAULT_THEME as baseTheme } from '@nebular/theme';
const baseThemeVariables = baseTheme.variables;
export const DEFAULT_THEME = {
name: 'default',
base: 'default',
variables: {
temperature: {
arcFill: [
baseThemeVariables?.primary,
baseThemeVariables?.primary,
baseThemeVariables?.primary,
baseThemeVariables?.primary,
baseThemeVariables?.primary,
],
arcEmpty: baseThemeVariables?.bg2,
thumbBg: baseThemeVariables?.bg2,
thumbBorder: baseThemeVariables?.primary,
}
} as NbJSThemeOptions;
и использовать его в NbThemeModule
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
NbThemeModule.forRoot({
name: 'default'
},
[ DEFAULT_THEME ],
).providers || [],
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Теперь в компоненте я пытаюсь получить доступ к temperature
переменной
constructor(
private theme: NbThemeService,
) {}
ngAfterViewInit(): void {
this.theme.getJsTheme()
.pipe(takeWhile(() => this.alive))
.subscribe(config => {
console.log('config: ', config.variables); // Variables does not have temperature
});
}
Но variables
они не содержат переменных из пользовательской темы.