nouislider angular 2 格式工具提示
nouislider angular 2 format tooltips
我想将工具提示值从秒数转换为日期。但有一个问题,有一个初始日期 (startTime),我想将工具提示值(秒)添加到该日期,并在工具提示中显示它。
也就是说,如果我的初始时间是05:00:00并且我移动左手柄5秒,它应该显示05:00:05。
工具提示中的格式有效,我已设法将值更改为日期,甚至向其添加字符串。
我在 Angular 2 中工作,当我调用方法 this.formatTooltipTimeDate(value)
时,出现错误。
ERROR TypeError: Cannot read property 'formatTooltipTimeDate' of
undefined
@Stefan Svrkota 建议的更改现在正在运行,但是,现在我只能在两个工具提示中看到 "undefined"。
我在控制台中添加了一条消息,在那里我可以看到日期格式正确为字符串,但返回的值仍未定义。
工具提示配置:
component.ts
this.sliderConfig = {
start: 0,
connect: true,
range: {
min: 0,
max: rangeTime
},
format: {
from: Number,
to: (value) => {
this.formatTooltipTimeDate(value).subscribe(
data => {
console.log('new tooltip format ', data);
return data;
}
);
}
},
step: 1
};
formatTooltipTimeDate(seconds): Observable<string>{
let t = new Date(this.startTime);
let newDate;
t.setSeconds(t.getSeconds() + seconds);
// Formate Date: HH:MM:SS
let hour = this.formatTwoDigits(t.getHours());
let minute = this.formatTwoDigits(t.getMinutes());
let second = this.formatTwoDigits(t.getSeconds());
newDate = hour + ':' + minute + ':' + second;
return Observable.of(newDate);
}
component.html
<nouislider class="nouislider" [config]="sliderConfig" [tooltips]="[ true, true ]" [(ngModel)]="someRange" (change)="event($event)"></nouislider>
我发现,问题是 return 字符串作为可观察对象。
我这样改了格式(我不再订阅了):
format: {
from: Number,
to: (value) => {
let t = new Date(this.startTime);
t.setSeconds(t.getSeconds() + value);
return this.formatTooltipTimeDate(t);
}
}
方法 formatTooltipTimeDate 不再 return 可观察:
formatTooltipTimeDate(date){
// Formate Date: HH:MM:SS
let hour = this.formatTwoDigits(date.getHours());
let minute = this.formatTwoDigits(date.getMinutes());
let second = this.formatTwoDigits(date.getSeconds());
date = hour + ':' + minute + ':' + second;
return date;
}
我想将工具提示值从秒数转换为日期。但有一个问题,有一个初始日期 (startTime),我想将工具提示值(秒)添加到该日期,并在工具提示中显示它。
也就是说,如果我的初始时间是05:00:00并且我移动左手柄5秒,它应该显示05:00:05。
工具提示中的格式有效,我已设法将值更改为日期,甚至向其添加字符串。
我在 Angular 2 中工作,当我调用方法 this.formatTooltipTimeDate(value)
时,出现错误。
ERROR TypeError: Cannot read property 'formatTooltipTimeDate' of undefined
@Stefan Svrkota 建议的更改现在正在运行,但是,现在我只能在两个工具提示中看到 "undefined"。
我在控制台中添加了一条消息,在那里我可以看到日期格式正确为字符串,但返回的值仍未定义。
工具提示配置:
component.ts
this.sliderConfig = {
start: 0,
connect: true,
range: {
min: 0,
max: rangeTime
},
format: {
from: Number,
to: (value) => {
this.formatTooltipTimeDate(value).subscribe(
data => {
console.log('new tooltip format ', data);
return data;
}
);
}
},
step: 1
};
formatTooltipTimeDate(seconds): Observable<string>{
let t = new Date(this.startTime);
let newDate;
t.setSeconds(t.getSeconds() + seconds);
// Formate Date: HH:MM:SS
let hour = this.formatTwoDigits(t.getHours());
let minute = this.formatTwoDigits(t.getMinutes());
let second = this.formatTwoDigits(t.getSeconds());
newDate = hour + ':' + minute + ':' + second;
return Observable.of(newDate);
}
component.html
<nouislider class="nouislider" [config]="sliderConfig" [tooltips]="[ true, true ]" [(ngModel)]="someRange" (change)="event($event)"></nouislider>
我发现,问题是 return 字符串作为可观察对象。
我这样改了格式(我不再订阅了):
format: {
from: Number,
to: (value) => {
let t = new Date(this.startTime);
t.setSeconds(t.getSeconds() + value);
return this.formatTooltipTimeDate(t);
}
}
方法 formatTooltipTimeDate 不再 return 可观察:
formatTooltipTimeDate(date){
// Formate Date: HH:MM:SS
let hour = this.formatTwoDigits(date.getHours());
let minute = this.formatTwoDigits(date.getMinutes());
let second = this.formatTwoDigits(date.getSeconds());
date = hour + ':' + minute + ':' + second;
return date;
}