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

问题描述 投票:0回答:2

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

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

其中包含错误的文件

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

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

使用构造函数声明Form

构造函数(私有Form: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我希望将数据从此文件传递到该文件

javascript angular angular6 angular7
2个回答
0
投票

根据addForm的调用方式,可能是this背景的问题。尝试将其转换为异步箭头功能:

  addform = async () => {

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

© www.soinside.com 2019 - 2024. All rights reserved.