我正在使用名为Lightpick的 daterange 插件,如果用户选择开始日期和结束日期。那就是我将在我的 service.ts 上调用方法的时候
这是我的代码:
服务.ts
const httpOptions = {
headers: new HttpHeaders({ 'Content-Type': 'application/json; charset=utf-8' })
}
public getAttedanceRecord(data): Observable<any> {
return this.http.post(url, data, httpOptions);
}
组件.ts
import { JsonFileService } from '../json-file.service';
import * as moment from 'moment-timezone';
import 'moment-duration-format';
import Lightpick from 'lightpick';
export class TimeRecordsComponent implements OnInit {
constructor(public JsonFileService: JsonFileService) {}
ngOnInit() {
var picker = new Lightpick({
field: document.getElementById('datepicker'),
singleDate: false,
footer: true,
selectForward: true,
onSelect: function(start, end){
let startDate = start.format();
let endDate = end.format();
console.log(startDate + " " + endDate);
this.JsonFileService.getAttedanceRecord({
EmployeeId: "00000000-0000-0000-0000-000000000001",
DateFrom: startDate,
DateTo: endDate,
TimeZone: "China Standard Time",
CountryCode: "PHL",
TenantId: "00000000-0000-0000-0000-000000000001",
CompanyId: "00000000-0000-0000-0000-000000000001"
}).subscribe(data => {
console.log(data);
});
}
});
}
}
当我设置开始和结束日期时,它总是会引发此错误。
我知道我需要用不同的方法调用该方法,以便我可以使用它。但我不知道怎么做。
请帮助我发展。
在这个关键字被不正确地使用。问题是this.JsonFileService.getAttedanceRecord。
尝试使用以下 ngOnInit 代替。
ngOnInit() {
let parent = this;
var picker = new Lightpick({
field: document.getElementById('datepicker'),
singleDate: false,
footer: true,
selectForward: true,
onSelect: function(start, end){
let startDate = start.format();
let endDate = end.format();
console.log(startDate + " " + endDate);
parent.JsonFileService.getAttedanceRecord({
EmployeeId: "00000000-0000-0000-0000-000000000001",
DateFrom: startDate,
DateTo: endDate,
TimeZone: "China Standard Time",
CountryCode: "PHL",
TenantId: "00000000-0000-0000-0000-000000000001",
CompanyId: "00000000-0000-0000-0000-000000000001"
}).subscribe(data => {
console.log(data);
});
}
});
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句