Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Modelo MVC

Estou criando algo só para praticar os conhecimentos mas não foi explicado como eu coloco um evento de click em um controller.

Também queria saber se para usar o bootstrap eu posso apenas usar o atalho do visual studio code sem me preocupar com mais nada.

<!doctype html>
<html lang="pt-br">

<head>
  <title>Title</title>
  <!-- Required meta tags -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <!-- Bootstrap CSS -->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
    integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
  <link rel="stylesheet" href="css/index.css">
</head>

<body>
  <div class="container-fluid logo-top">
    <h1>Nutricionista</h1>
  </div>
  <div class="container tabela-pacientes">
    <div class="dados-pacientes">
      <h2>Dados Pacientes</h2>
    </div>
    <form class="formulario-principal">
      <fieldset>
        <div class="form-row">
          <div class="col">
            <input id="nome" type="text" class="form-control" placeholder="Primeiro Nome">
          </div>
          <div class="col">
            <input id="segundo-nome" type="text" class="form-control" placeholder="Segundo Nome">
          </div>
        </div>
        <div class="form-row">
          <div class="col">
            <input id="peso" type="text" class="form-control" placeholder="Peso">
          </div>
          <div class="col">
            <input id="altura" type="text" class="form-control" placeholder="Altura">
          </div>
        </div>
      </fieldset>
      <button type="button" class="btn btn-light enviar">Enviar</button>
    </form>
  </div>

  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
    integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous">
  </script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
    integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous">
  </script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
    integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous">
  </script>
  <script src="js/Model.js"></script>
  <script src="js/Controller.js"></script>
  <script>
  let controller = new Controller();
  </script>
</body>

</html>

eu instanciei a classe Controller no html

class Controller{
    constructor() {
        this._nome = $("#nome");
        this._peso = $("#peso");
        this._altura = $("#altura");
        this._botao = $(".enviar");
    }

    adiciona(event) {
        event.preventDefault();

        this._botao.onclick(function() {
            alert("ola")
        })
        let model = new Model(
            this._nome.value,
            this._peso.value,
            this._altura.value
        )

        console.log(model);

    }
}

Pelo que eu entendi ele não vai conseguir capturar o evento pois está dentro do método adiciona,como eu chamo esse alert de exemplo ?

1 resposta
solução!

Acabei voando e esqueci que era só colocar ele no constructor que toda vez que eu estanciar chama o que tem dentro do constructor,mas queria saber se eu preciso necessariamente estanciar essa classe no html