Редактировать - Мое решение по взлому: Проблема связана с тем, как / когда / где angular получает NoUiSlider CSS. То, что сделало эту работу, это добавление css import @import "~nouislider/distribute/nouislider.min.css";
к моему стилю sr c>. css.
Я не считаю это реальным решением. Я хотел бы, чтобы все css для слайдера содержались внутри файла CSS компонента. Поэтому я думаю, что мой обновленный вопрос таков: как заставить NoUiSlider использовать CSS из компонента, который его содержит?
Исходный вопрос:
Мой слайдер будет не отображается в моем приложении Angular. Чего мне не хватает?
Я просто пытаюсь получить самый базовый c слайдер для рендеринга в своем приложении, и я не получаю ошибок, насколько я могу судить.
-
package.json
- я добавлю больше, если нужно (я также пытался поместить "nouislider": "^14.1.1",
в "dependencies"
)
{
...
"devDependencies": {
...
"@types/nouislider": "^9.0.6",
"nouislider": "^14.1.1",
...
}
}
-
timeline-scroller.component.html
(«Test text
» - это единственное, что я вижу при отображении моей страницы)
<div #contentComponent>Test text</div>
-
timeline-scroller.component.ts
(, {static: true}
- новое требование в angular 8)
import { Component, ElementRef, ViewChild, AfterViewInit } from '@angular/core';
import * as noui from 'nouislider';
@Component({
selector: 'app-timeline-scroller',
templateUrl: './timeline-scroller.component.html',
styleUrls: ['./timeline-scroller.component.css']
})
export class TimelineScrollerComponent implements AfterViewInit {
@ViewChild('contentComponent', {static: true}) contentElement: ElementRef;
public slider: noui.noUiSlider;
constructor() { }
ngAfterViewInit(): void {
this.slider = noui.create(
this.contentElement.nativeElement, {
start: 1,
range: { min: 0, max: 20 }
});
}
}