未捕获(承诺):TypeError:this.Form是角度6中的未定义错误

时间:2019-04-20 20:49:42

标签: javascript angular angular6 angular7

当我尝试使用.Form从另一个调用一个.ts文件时,发生以下错误

  

未捕获(承诺):TypeError:this.Form未定义

其中有错误的文件

已导入我要从此文件传递值的.ts文件

import { SawtoothService } from '../sawtooth.service';

使用构造函数声明的表单

构造函数(私有形式:SawtoothService){}

调用另一个组件文件函数的函数

  async addForm() {

     const proc ="VRT"
     const action ="add"
     const FAMILYNAME = 'abc' 
     const servDt =await this.Form.sendData(this.Gender,this.idproof,this.date,this.firstName,proc,action,FAMILYNAME)
     this.servicedata="this is service data"+servDt;
     alert('SUCCESS!! :-)\n\n' + this.servicedata)   
  }

sawtooth.service.ts文件中有一个函数sendData,我想将数据从该文件传递到该文件

2 个答案:

答案 0 :(得分:0)

取决于addForm的调用方式,可能是this上下文的问题。尝试将其转换为异步箭头功能:

  addform = async () => {

答案 1 :(得分:0)

    const servDt = await 
 this.Form.sendData(this.Gender,this.idproof,this.date,this.firstName,proc,action,FAMILYNAME)

应该是

    const servDt = await this.SawtoothService.sendData(this.Gender,this.idproof,this.date,this.firstName,proc,action,FAMILYNAME)

即使我看不到此文件中的其余代码。通常,您会将服务注入到构造函数中,然后可以调用this.name_of_service.any_method_you_created_on_it