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

Professor estou bem perdido sobre a estrutura do projeto

Professor eu vim do seus cursos de js orientado a objetos, no qual você usou uma arquitetura mvc pra organizar o projeto. Eu ia esperar até o final do curso para perguntar, pois não sei se vai abordar o assunto ainda, mas nessa aula pelo que eu entendi qualquer manipulação no Dom deve ficar dentro das Directivas, algo como uma View, então resolvi criar este tópico agora.

Esse uso de Directiva, qualquer alteração no Dom devo fazer através dela mesmo? Não seria muito mais prático usar o "Methods" dentro do componente para fazer a alteração?

As models, aonde ficaria nossas regras de negócio, não vi abordar ainda, então acredito que ainda entrará nesse assunto (não sei). Mas e o controller que faria a ligação entre a View e a Model, não mais usaremos? Não é costume utilizar esse padrão arquitetural no Vue?

Me desculpe se for ser abordado este assunto futuramente no curso e eu estiver me adiantando, é que estou guardando essa pergunta desde o primeiro curso de Vue que vi aqui.

1 resposta
solução!

Fala ai Fábio, tudo bem? Vamos lá:

Esse uso de Directiva, qualquer alteração no Dom devo fazer através dela mesmo? Não seria muito mais prático usar o "Methods" dentro do componente para fazer a alteração?

Isso depende muito do que precisa ser feito, os methods são funções que queremos executar que em alguns momentos atualizam os estados dos componentes (ocasionando alteração no DOM).

Mas, no seu caso o que precisa ser feito é uma animação, então ela pode ser feita com diretivas para um melhor reaproveitamento, uma vez que qualquer elemento usando essa diretiva teria essa animação.

Ela também poderia ser feita com methods? Sim, poderíamos criar uma method que iria alterar o valor da rotação e fazer o bind com o style do elemento.

As models, aonde ficaria nossas regras de negócio, não vi abordar ainda, então acredito que ainda entrará nesse assunto (não sei). Mas e o controller que faria a ligação entre a View e a Model, não mais usaremos? Não é costume utilizar esse padrão arquitetural no Vue?

Arquiteturas em projetos Vue são diferentes das realizas em projetos MVC, isso porque o Vue segue o design arquitetural MVVM: https://medium.com/@FilipeFNunes/android-mvc-x-mvp-x-mvvm-qual-pattern-utilizar-parte-1-3defc5c89afd

Nesse artigo tem algumas diferenças entre os padrões.

Espero ter ajudado.