在导入中使用服务方法的打字稿

特伦斯

我正在使用名为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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

打字稿导入/ as与导入/要求?

来自分类Dev

我可以在打字稿中使用Handsontable吗

来自分类Dev

在打字稿中使用Chrome扩展API

来自分类Dev

如何使用打字稿制作Angular服务?

来自分类Dev

无法使用打字稿导入节点类型的模块

来自分类Dev

在打字稿中使用es-6符号

来自分类Dev

在打字稿内部模块中使用外部打字稿库

来自分类Dev

在打字稿中使用params类型的角ui状态

来自分类Dev

使用vscode反应打字稿导入语法问题

来自分类Dev

如何在打字稿中使用JavaScript

来自分类Dev

防止打字稿中使用“严格”?

来自分类Dev

如何从pg-promise打字稿中使用IConfig?

来自分类Dev

!对象方法后在打字稿中使用运算符

来自分类Dev

使用打字稿在Firebase Cloud函数内部动态导入类的正确方法是什么?

来自分类Dev

在Azure Functions打字稿中使用IBinder?

来自分类Dev

使用Jest作为打字稿中的方法

来自分类Dev

打字稿重复导入“时刻”

来自分类Dev

在yup模式中使用打字稿类型

来自分类Dev

打字稿:使用静态方法处理子类

来自分类Dev

打字稿无法扩展导入

来自分类Dev

使用vscode反应打字稿导入语法问题

来自分类Dev

防止打字稿中使用“严格”?

来自分类Dev

在Angular 2服务中创建打字稿方法

来自分类Dev

打字稿导入类到服务类

来自分类Dev

在打字稿中使用 apache thrift

来自分类Dev

如何使用打字稿文件导入/导出类型定义

来自分类Dev

如何在其他打字稿中使用打字稿中的函数

来自分类Dev

在打字稿中使用 vuex

来自分类Dev

打字稿 - 了解导出/导入