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

Comportamento errado após alterar

A alteração de uma foto ocorre com sucesso, porém o fato de manter a tela de cadastro em branco e sem mudar a URL, esta provocando um "erro", que na verdade acontece na inclusão de um novo com a URL de edição (passando ID) e com isso esta alterando o objeto anterior.

5 respostas

Luiz, compartilhe seu código.

O meu código é o mesmo que o seu até a aula 04 final do vídeo 3.

Ao final quando salvamos o formulário, somente ele é limpo "this.meuForm.reset()" porém na URL continua o código/chave do objeto que foi ALTERADO e ao salvar um novo registro nessa mesma tela ele salva por cima do que foi alterado, consequentemente o salvar do novo objeto é feito por cima do objeto referenciado pelo ID na URL.

Acredito que exista algumas opções de alterar a URL, dar um "Location" para o mesmo formulário ou a solução que vou assistir agora que você deu de retornar a tela de listagem que vejo que encobre o "erro".

solução!

Você assistiu o capítulo até o fim? Quando realizamos uma alteração, saímos do componente Cadastro e voltamos para o componente Home.

https://cursos.alura.com.br/course/angular2-parte2/task/21433

Você diz que a solução encobre o erro. Não vejo encobrir, vejo um comportamento válido em várias aplicações. Mas se você quiser fazer isso, você tem como resolver.

Aliás, aguardo seu código com a tentativa para continuar na página ao invés de ir para outro componente.

Dica: você pode navegar para a mesma página usando o que aprendeu. Aliás, um bom exercício para transpor o conhecimento adquirido em outras situações.

No final, é o cliente que decide como a aplicação vai se comportar, estou assumindo você no papel do cliente que quer, por algum motivo, continuar na página depois de uma alteração.

Utilizando a ideia de rotas é possível redirecionar para a rota inicial ou a rota 'cadastro' o que removeria da url o parametro ID.

*Sim fiz a aula 04 e 05 até o final e corrige a navegação, obrigado.

Isso! Se você não quiser voltar para a listagem, use o que aprendeu para gerar a navegação e vá para o mesmo componente que está, sendo assim, a URL ficará limpa e você estará apto a realizar um novo cadastro.

Pegou a ideia? Qualquer coisa me avisa. Mas ainda assim, eu prefiro continuar no cadastro apenas se estiver incluindo e quando eu alterar eu prefiro ir para a listagem. Mas no final, o cliente é que manda e ele pode querer esse ou aquele jeito.

Se tudo estiver funcionando conforme esperado, marque o posto como solucionado. Tudo bem? Se não, indique o que saiu de errado.