Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

RESOLVIDO [Bug] caught TypeError: Cannot read properties of undefined (reading 'value') e falta de recuperação dos dados no console

Olá pessoal! Meu código está apresentando undefined na parte do adiciona() e depois, ao seguir, agora dá erro com o value, mas os erros são diferentes dos demais reportados:

Uncaught TypeError: Cannot read properties of undefined (reading 'value')
    at NegociacaoController.adiciona (negociacao-controller.js:9:58)
    at HTMLFormElement.<anonymous> (app.js:6:16)
adiciona    @    negociacao-controller.js:9
(anonymous)    @    app.js:6

Segue meu código:

negociacao-controller.ts

import { Negociacao } from "../models/negociacao.js";

export class NegociacaoController {
    private inputData;
    private inputQuantidade;
    private inputValor;

    construtor(){
        this.inputData = document.querySelector('#data');
        this.inputQuantidade = document.querySelector('#quantidade');
        this.inputValor = document.querySelector('#valor');
    }

    adiciona() {
        const negociacao = new Negociacao(
            this.inputData.value,
            this.inputQuantidade.value,
            this.inputValor.value

        );

        console.log(negociacao);
    }

}

negociacao.ts

export class Negociacao {
    private _data;
    private _quantidade;
    private _valor;

    constructor(data, quantidade, valor){
        this._data = data;
        this._quantidade = quantidade;
        this._valor = valor;
    }

    get data() {
        return this._data;
    }

    get quantidade() {
        return this._quantidade;
    }

    get valor() {
        return this._valor;
    }

    get volume() {
        return this._quantidade * this._valor;
    }
}

app.ts

import { NegociacaoController } from "./controllers/negociacao-controller.js";

const controller = new NegociacaoController();
const form = document.querySelector('.form');
form.addEventListener('submit', event => {
    event.preventDefault();
    controller.adiciona();
});

Por favor, alguém pode me ajudar? Obrigada desde já!

2 respostas
solução!

Pessoal, resolvido, desculpem! Havia faltado o "c" de ConstruCtor! Obrigada.

Oi Tatiane, tudo bem?

Que bom que resolveu! Obrigada por sinalizar, irei fechar o tópico.

Um abraço e bons estudos.