Я пытаюсь построить компонент, который отображает диаграмму, используя библиотеку диаграмм.
Интересно, можно ли импортировать стили библиотеки 3D-вечеринок только для компонента, который его использует.
Вот код компонента:
import { Component, Input, AfterViewInit } from '@angular/core';
import * as Chartist from 'chartist';
@Component({
selector: 'chartist',
template: `
<h1>Here is chratist chart:</h1>
<div class="ct-chart" id="chart" ></div>
`,
styleUrls: [ './chartist.component.scss']
})
export class ChartistComponent implements AfterViewInit {
@Input() name: string;
data: any = {
labels: [
'Jan',
'Feb',
'Mar',
'Apr',
'Mai',
'Jun',
'Jul',
'Aug',
'Sep',
'Oct',
'Nov',
'Dec'
],
series: [[542, 443, 320, 780, 553, 453, 326, 434, 568, 610, 756, 895]]
};
ngAfterViewInit() {
const optionsEmailsSubscriptionChart = {
axisX: {
showGrid: true
},
low: 0,
high: 1000,
chartPadding: { top: 0, right: 5, bottom: 0, left: 0 }
};
setTimeout(() => {
const emailsSubscriptionChart = new Chartist.Bar(
'#chart',
this.data,
optionsEmailsSubscriptionChart
);
}, 1000);
}
}
До сих пор я пытался (безуспешно) импортировать стили библиотеки, используя оператор import внутри стилей chartist.component
// importing 3D library styles:
@import '~chartist/dist/scss/chartist.scss';
По какой-то причине единственный способ, которым мне удалось применить стили к компоненту, - это импортировать их в глобальный файл 'styles.scss' корневого уровня приложения (которого я пытаюсь избежать).
здесь stackblitz демонстрация
Любая помощь будет оценена