jQuery .data() na JavaScript

jQuery .data() na JavaScript
let_Majka
  • Rejestracja:około 4 lata
  • Ostatnio:ponad 3 lata
  • Postów:13
0

Jak zastapic funkcje .data() z jQuery na JavaScript w edytowaniu pliku? Funkcja pisana jest w Typescript.

Typescript

Kopiuj
	valueChanged(newValue) {
		let editSlider = $(this.editSlider).data("ionRangeSlider");
		if (editSlider && editSlider.old_from != newValue){
			editSlider.update({ from: newValue });
		}

		let readOnlySlider = $(this.readOnlySlider).data("ionRangeSlider");
		if (readOnlySlider && readOnlySlider.old_from != newValue) {
			readOnlySlider.update({ from: newValue });
		}
	}

HTML

Kopiuj
	<div show.bind="editOnly || parentVM.editMode != 0" class="form-group">
		<label-for>
			<small>${label}</small>
		</label-for>
		<input ref="editSlider" value.two-way="value" type="text">
	</div>
	<div show.bind="!editOnly && parentVM.editMode == 0">
		<small>${label}</small>
		<input ref="readOnlySlider" value.two-way="value" type="text">
	</div>
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10079
2

O to chodzi?

Kopiuj
this.editSlider.dataset.ionRangeSlider;
edytowany 1x, ostatnio: Riddle
let_Majka
  • Rejestracja:około 4 lata
  • Ostatnio:ponad 3 lata
  • Postów:13
0

Oto caly kod w TypeScript:

Kopiuj
export class EditIntSliderCustomElement {
	parentVM: any;
	@bindable
	label: string;

	editSlider: HTMLInputElement;
	readOnlySlider: HTMLInputElement;

	@bindable
	min : number;

	@bindable
	max :number;

	@bindable
	step: number = 1;

	@bindable({ defaultBindingMode: bindingMode.twoWay })
	value: number;

	@bindable
	editOnly: boolean = false;

	@bindable
	hideMinMax: boolean = false;

	valueChanged(newValue) {
		let editSlider = $(this.editSlider).data("ionRangeSlider");
		if (editSlider && editSlider.old_from != newValue){
			editSlider.update({ from: newValue });
		}

		let readOnlySlider = $(this.readOnlySlider).data("ionRangeSlider");
		if (readOnlySlider && readOnlySlider.old_from != newValue) {
			readOnlySlider.update({ from: newValue });
		}
	}

	constructor() {
	}

	bind(bindingContext, overrideContext) {
		this.parentVM = bindingContext;
	}

	userChanged(newVal: number){
		if (this.value != newVal) {
			this.value = newVal;
		}

	}

	attached() {
		$(this.editSlider).ionRangeSlider({
			min: this.min,
			max: this.max,
			from: this.value,
			step: this.step,
			hide_min_max: this.hideMinMax,
			onChange: (data) => {
				this.userChanged(data.from);
			}

		});

		$(this.readOnlySlider).ionRangeSlider({
			min: this.min,
			max: this.max,
			from: this.value,
			step: this.step,
			hide_min_max: this.hideMinMax,
			disable: true,
			onChange: (data) => {
				this.userChanged(data.from);
			}

		});
	}
}

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10079
0

@let_Majka: Co Ty w ogóle próbujesz zrobisz?

Od kilku tematów zadajesz bardzo dziwne pytania, zaczyna mi to wyglądać na problem X/Y.

Opowiesz dokładnie od czego zaczynasz i jaki efekt próbujesz osiągnąć?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.