algo extraño está mal con el control deslizante. Quiero cambiar el valor del control deslizante por otro valor que estaría en el componente donde se encuentra el control deslizante. Cuando uso el formateador de entrada, todo está bien, pero cuando uso el "this.slider" me devuelve indefinido. ya que la función del formateador al pasarla por entrada pierde su contexto. dejo un ejemplo para mayor claridad
export class ConfigurationRulesListComponent implements OnInit { @ViewChild('slider', { static: false }) sliderComponent: NzSliderComponent; listOfValues: Array<string> = []; currentValue = 0; minValue = 0; maxValue = 0; stepMarks: Marks = {}; constructor() {} ngOnInit() { this.getValuesFromBackend(); this.init(); } formatter(index: number): string { const marksFound: Marks = this.sliderComponent.nzMarks; // here undefine beccose, is other context const label = (marksFound[index] as MarkObj).label; const result = new RegExp(/(?<=<strong>\s*).*?(?=\s*<\/strong>)/); const matchResults = label.match(result); return `${matchResults[0]}`; } private init() { // para construir las marcas en caso de que tengan estilos determinados for (let i = 0; i < this.listOfValues.length; i++) { const newMark = new Marks(); newMark[i] = { style: { color: '#f50' }, label: `<strong>${this.listOfValues[i]}</strong>` }; this.stepMarks = { ...this.stepMarks, ...newMark }; } } private getValuesFromBackend() { // adicionarle observables this.listOfValues = ['First', 'Second', 'Third', 'fourth', 'fifth', 'sixth']; this.currentValue = 0; this.minValue = 0; this.maxValue = this.listOfValues.length - 1; } }html>
<nz-slider #slider [nzMin]="minValue" [nzMax]="maxValue" [nzMarks]="stepMarks" [(ngModel)]="currentValue" [nzTipFormatter]="formatter" ></nz-slider>