forum
forum copied to clipboard
Uso de mixins
Olá pessoal, legal a iniciativa do forum.
Mas bem, vamos lá, vocês tem algumas regras/boas práticas para o uso de Mixins? Como evitar acessar propriedades que não são dele e afins?
Usamos bastante mixins e extends aqui. A motivação é sempre a mesma: reaproveitar lógica entre componentes.
O mixin tem acesso completo ao componente, e isso não é um problema, pelo contrário, deve ser utilizado a seu favor.
Imagine um componente de exibe seu conteúdo em um modal, modal é um outro componente que será usado. Você terá a mesma mecânica em vários componentes. Um mixin cai como uma luva para essas situações.
O mixin vai se encarregar de importar o componente modal, e adicionar métodos como open e close. Para ele fazer isso ele terá que acessar this.$refs.modal onde o componente que chama o mixin criou tal ref na template.
Ainda há outras inúmeras aplicações, o mixin pode ser uma função que gera comportamentos diferentes dependendo dos argumentos.
O mixin pode ler this.$options do componente dentro do hook create e gerar inúmeros comportamentos...
A coisa toda não para por aqui, pois é possível combinar mixins... o mesmo componente que usa um modal, pode usar um que altera o titulo da página, ou injeta funções de um serviço... consumir http...
São realmente inúmeras as possibilidades ... Escrevi este artigo sobre o tema: Herança e Composição com Vue.js pode ajudar mais.
Válido lembrar para tomar cuidado com mixins globais, pois afetam todas as instâncias do Vue
Confesso que nunca usei mixins apesar de saber que eles existem, no exemplo do @vinicius73 ai eu criei um componente
Eu precisaria exercitar o uso de mixins pra eu ver a melhoria.
Eu uso Mixin com frequência, só queria ver se o pessoal tentava evitar o uso em algum caso :P