Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Estou com duas dúvidas sobre como utilizar métodos static e como montar um auto suggest mostrando a descrição e passando o ID para a API

Bom dia, primeiramente quero agradecer ao Flávio Almeida por esse curso muito foda, e a Alura por disponibilizá-lo.

Minhas dúvidas são:

1 Eu fiz os 2 cursos de JavaScript Avançado também do mestre Flávio, e lá criamos um Helper chamado DateHelper.js que tem métodos statics. Tentei importá-lo em um projeto Vue.js que estou trabalhando, da forma que é mostrada no final do curso, src/assets/js/DateHelper.js e fiz uma alteração no início do código para exportálo: export default DateHelper e no arquivo main.js fiz a importação import './assets/js/DateHelper.js' tentei utilizar os métodos pelo console e apresenta um erro: DateHelper is not defined, gostaria de saber como utilizar esses métodos statics nos components, pois como está apresentando esse erro no console, nos components apresenta um erro também: [Vue warn]: Property or method "DateHelper" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property.

2 No projeto que estou trabalhando, temos um recurso na API chamado Atividades e que essas atividades tem uma prioridade que é um outro recurso na API Prioridades,a minha dúvida é: quando eu montar a lista para o usuário escolher a prioridade da atividade como eu faria para mostrar a descrição da prioridade porém ao enviar via POST/PUT enviar o código dessa prioridade para a API? Seria parecido com o que fizemos com as Fotos? Criando um model em domain/prioridade/Prioridade.js e criando um constructor para essas prioridades e capturar os dados da API ao montar a lista para o usuário selecionar? ou teria alguma diretiva do Vue.js que me ajuda nesses casos?

Obrigado desde já, abraços.

3 respostas
solução!

Fala aí Italo, tudo bem? Bom, vamos por partes:

Gostaria de saber como utilizar esses métodos statics nos components.

Para utilizar o seu DateHelper nos componentes, você pode importá-lo diretamente dentro do script deles:

<script>
import DateHelper from 'CAMINHO_ATE_O_ARQUIVO.js'

created() {
    DateHelper.algumaFuncao()
}
</script>

Depois pode utilizá-lo normal, como se fosse um JavaScript qualquer.

Quando eu montar a lista para o usuário escolher a prioridade da atividade como eu faria para mostrar a descrição da prioridade porém ao enviar via POST/PUT enviar o código dessa prioridade para a API?

Para esse problema, acredito que sua API de atividades poderia retornar a Prioridade dela, tudo em um único JSON, dessa maneira você consegue economizar futuras requests, isso pode facilmente ser feito com um DTO no lado do back.

Em outras palavras, nesse exemplo, seria melhor os dados estarem desnormalizados, senão para cada atividade você vai ter que disparar outra request pegando os dados da prioridade, para depois construir seu model no front.

Espero ter ajudado.

Fala Matheus, obrigado pela resposta.

Referente ao cadastro da atividade, eu até cheguei a conversar com o desenvolvedor do back sobre ele retornar um JSON com as Prioridades (e também os outros campos, como: Situação, Tipo de Atividade) porém, ele me falou que seria inviável pois nosso sistema ERP tem muitos cadastros e ele disse que não seria legal ficar criando um JSON com esses outros cadastros para cada recurso. Enfim, terei que fazer as requisições para cada campo que o recursos necessitar. Não sei se isso é uma boa prática.

Fala Italo, que pena, o importante é que conseguiu resolver o problema (pelo menos tem uma solução).

Abraços