Conversation
| imports: [Slider, FormsModule], | ||
| template: ` | ||
| <p-slider | ||
| [ngModel]="normalizedValue" |
There was a problem hiding this comment.
наличие ngModel говорит о том, что компонент может работать с реактивными формами. если мы хотим (думаю лучше хотим) поддержать этот функционал - компонент должен имплементировать ControlValueAccessor
| [range]="range" | ||
| [orientation]="orientation" | ||
| [disabled]="disabled" | ||
| (onChange)="onChange.emit($event)" |
There was a problem hiding this comment.
в случае если реализуем ControlValueAccessor - свойство onChange будет не нужно. нужно будет создать FormControl, и передать его в p-slider.
| @Input() range = false; | ||
| @Input() orientation: SliderOrientation = 'horizontal'; | ||
| @Input() disabled = false; | ||
| @Output() onChange = new EventEmitter<SliderChangeEvent>(); |
There was a problem hiding this comment.
тут таже история. onChange не будет. onChange будет срабатывать в подкапотной ангуляровской логике для реактивных форм. кстати ещё один важный момент. лучше всего добавить компонентам changeDetection: ChangeDetectionStrategy.OnPush. и сделать так, что бы они с ним работали. это гарантирует нам, что компоненты будут работать в этом режиме на уровне модуля какого нибудь.
| }) | ||
| export class SliderComponent implements OnChanges { | ||
| @Input() value: number | number[] = 0; | ||
| @Output() valueChange = new EventEmitter<number | number[]>(); |
There was a problem hiding this comment.
на сколько помню мы хотели подстраиваться под апи прайма. в прайме у слайдера нет valueChange емиттера
| component: `Слайдер позволяет выбрать числовое значение или диапазон путём перемещения ползунка. | ||
|
|
||
| \`\`\`typescript | ||
| import { SliderModule } from 'primeng/slider'; |
No description provided.