无法读取未定义的属性“ cpf”

时间:2018-09-27 17:50:11

标签: angular typescript firebase ionic-framework

我有一个文件,我正在使用它创建一个对象,因此可以将其存储在我的数据库Firestore中。我将此文件导入到我的注册页面,并使用ngModels捕获用户传递的值。因此,为此,我在注册页面中实例化了数据对象,并创建了一个名为Usuario的变量以将该对象保存在文件中。

这是我的对象。

export const dados = {

    Documento: {
        cpf: "",
        sus: "",
        data_nasc: "",
        email: "",
        rep_email: "",
        telefone: "",
        senha: "",
        rep_senha: ""
    }
};

然后,我导入我的文件。

import * as meusDados from '../interface/paciente.interface';

那我如何实例化meusDados类。

export class CadastroPage {

Usuario = meusDados;

}

然后我如何存储HTML数据

  <ion-list>
        <ion-item>
            <ion-label floating>CPF</ion-label>
            <ion-input type="number" [(ngModel)]="Usuario.Documento.cpf"></ion-input>
        </ion-item>
        <ion-item>
            <ion-label floating>Cartão SUS - CNS</ion-label>
            <ion-input type="number" [(ngModel)]="Usuario.Documento.sus"></ion-input>
        </ion-item>
        <ion-item>
            <ion-label floating>Data de nascimento</ion-label>
            <ion-input type="text" [(ngModel)]="Usuario.Documento.data_nasc"></ion-input>
        </ion-item>
        <ion-item>
            <ion-label floating>E-mail</ion-label>
            <ion-input type="email" [(ngModel)]="Usuario.Documento.email"></ion-input>
        </ion-item>
        <ion-item>
            <ion-label floating>Confirmação de e-mail</ion-label>
            <ion-input type="email" [(ngModel)]="Usuario.Documento.rep_email"></ion-input>
        </ion-item>
        <ion-item>
            <ion-label floating>Telefone celular com DDD</ion-label>
            <ion-input type="tel" [(ngModel)]="Usuario.Documento.telefone"></ion-input>
        </ion-item>
        <ion-item>
            <ion-label floating>Senha</ion-label>
            <ion-input type="password" [(ngModel)]="Usuario.Documento.senha"></ion-input>
        </ion-item>
        <ion-item>
            <ion-label floating>Repita a senha senha</ion-label>
            <ion-input type="password" [(ngModel)]="Usuario.Documento.rep_senha"></ion-input>
        </ion-item>

每当我尝试单击我的按钮进行注册时,都会收到以下错误:

ERROR TypeError: Cannot read property 'cpf' of undefined

1 个答案:

答案 0 :(得分:0)

几件事:

export const dados = {

    Documento: {
        cpf: "",
        sus: "",
        data_nasc: "",
        email: "",
        rep_email: "",
        telefone: "",
        senha: "",
        rep_senha: ""
    }
};

由于您正在执行import *,因此您将不会仅导入该常数。您正在从该文件导入所有内容。所以:

Usuario = meusDados;

没有按照您认为的去做。应该是:

Usuario = meusDados.dados;

此外,我认为您没有有效的常量。我认为您正在寻找的是:

export const dados: Documento = {   
        cpf: "",
        sus: "",
        data_nasc: "",
        email: "",
        rep_email: "",
        telefone: "",
        senha: "",
        rep_senha: ""
};

import { dados } from '../interface/paciente.interface';

Usario = dados;

然后,您将这样做:

<ion-input type="number" [(ngModel)]="Usuario.cpf"></ion-input>