2
respostas

Erro

Olá,

Estava seguindo os passos da aula, quando me apareceu esse erro:

Uncaught TypeError: texto.split is not a function
    at Function.textoParaData (DateHelper.js:15)
    at NegociacaoController.adiciona (NegociacaoController.js:14)
    at HTMLFormElement.onclick (index.html:16)

Até aí tudo bem, fui lá ver o tal do DataHelper.js:

class DateHelper {

    constructor() {}

    static dataParaTexto(data) {

        return data.getDate() +
            '/' + (data.getMonth() + 1) +
            '/' + data.getFullYear();

    }

    static textoParaData(texto) {

        return new Date(...texto.split('-').map((item, indice) => item - indice % 2));

    }
}

Não consigo entender o que pode ter acontecido, o trecho onde chamo os métodos estáticos é esse:

adiciona(event) {
        event.preventDefault();

        let negociacao = new Negociacao(
            DateHelper.textoParaData(this._inputData),
            this._inputQuantidade.value,
            this._inputValor.value
        );

        console.log(DateHelper.dataParaTexto(negociacao.data));
    }
2 respostas

Opa, consegui resolver o erro aqui, já pode fechar o tópico.

No meu arquivo NegociacaoController.js, eu escrevi

DateHelper.textoParaData(this._inputData)

Mas, o correto seria

DateHelper.textoParaData(this._inputData.value)

Oi, Dyeizon, tudo bem?

Obrigada por compartilhar a solução!