4
respostas

Não consigo atribuir classes e estilos css em javascript puro em vue js (1 dia no aguardo.. 25/04)

Esta esta é uma função básica pois sou iniciante em javascript, na qual obtendo o caminho desejado vou aplicar um display none no menu para minha rota de login, porém me retorna um erro tanto ao passar ".style.display = 'none'" quanto ao tentar adicionar uma classe para isto.

O erro: Cannot read property 'style' of null Ou erro: Cannot read property 'className' of null , caso eu tente passar uma classe.

methods : {
            hide : () =>{
                if(window.location.pathname == '/Auth'){
                    document.getElementById('nav').style.display = 'none';
                }
            },
      },
4 respostas

Oi Jonas, como está o HTML da página?

<div id="nav">
                 <my-menu :id="hide()"></my-menu>
  </div>

O html esta assim, passo a função para meu componente de menu, que em seguida irá atribuir o 'display none' ao meu id "nav".

Desculpa só agora me dei conta que não estava renderizando o código.

Oi Jonas, lendo a documentação aqui pra tentar entender o problema, me veio a cabeça de que, você está usando uma propriedade dinâmica que deve passar um valor para o estado do componente e nesse valor você está tentando executar uma função. O que de certa forma, não é mesmo pra dar certo. Lembra? Propriedades são para passar valores para o componente...

Você deveria no caso usar o v-on:load talvez, assim, ao carregar a página, você consiga executar o comportamento.