1
resposta

Minha Class Negociacao não está sendo importada no meu indexedDB

Minha class, mesmo depois de colocar a tag <script src="js/app/models/Negociacao.js"></script>, não está sendo importada para a pagina.

Alguém pode me ajudar?

1 resposta

Olá, Claudio Ferreira da Silva Junior, tudo bem?

Entendo que você esteja enfrentando problemas ao importar sua classe Negociacao para o indexedDB. Vou tentar ajudá-lo da melhor forma possível.

Primeiramente, é importante verificar se o caminho do arquivo está correto na tag <script> que você inseriu no HTML. Certifique-se de que o caminho está apontando para o local correto onde o arquivo Negociacao.js se encontra. Por exemplo, se o arquivo Negociacao.js está dentro da pasta "models" que está dentro da pasta "app", o caminho correto seria "js/app/models/Negociacao.js".

Além disso, verifique se o arquivo Negociacao.js está escrito corretamente e se está seguindo a sintaxe correta do JavaScript. Lembre-se de que qualquer erro de sintaxe pode impedir a importação da classe para o indexedDB.

Outra possibilidade é que você esteja tentando acessar a classe Negociacao antes que ela seja importada corretamente. Certifique-se de que a importação da classe seja feita antes de tentar usá-la em outras partes do seu código. Por exemplo, se você tiver uma função que utiliza a classe Negociacao, certifique-se de que a importação da classe esteja antes dessa função.

Também é possível que o problema esteja relacionado à ordem em que os scripts estão sendo carregados na página. Certifique-se de que a tag <script> que importa a classe Negociacao esteja antes da tag <script> que faz uso da classe.

Por fim, uma forma de verificar se a classe Negociacao está sendo importada corretamente é utilizando o console do navegador para verificar se não há erros de carregamento do arquivo. Para isso, abra a ferramenta de desenvolvedor do seu navegador (geralmente acessada pelo botão F12) e verifique a aba "Console". Se houver algum erro relacionado à importação do arquivo, ele será exibido nessa aba.

Segue abaixo um exemplo simples de importação da classe Negociacao:

<!-- index.html -->
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Exemplo de IndexedDB</title>
  </head>
  <body>
    <script src="js/app/models/Negociacao.js"></script>
    <script src="js/app/controllers/NegociacaoController.js"></script>
  </body>
</html>

// Negociacao.js
class Negociacao {
  constructor(data, quantidade, valor) {
    this._data = new Date(data.getTime());
    this._quantidade = quantidade;
    this._valor = valor;
    Object.freeze(this);
  }

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

  // outros métodos e propriedades
}

// NegociacaoController.js
class NegociacaoController {
  constructor() {
    let $ = document.querySelector.bind(document);
    this._inputData = $('#data');
    this._inputQuantidade = $('#quantidade');
    this._inputValor = $('#valor');
  }

  adiciona(event) {
    event.preventDefault();
    let negociacao = new Negociacao(
      this._inputData.value,
      this._inputQuantidade.value,
      this._inputValor.value
    );
    // outras operações com a classe Negociacao
  }
}

Espero que tenha te ajudado.

Um abraço e bons estudos.