Olá,
Não entendi muito bem essa dinâmica de remover o favorito.
Se poder me explicar melhor como essa ação ocorre?
Atte
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá,
Não entendi muito bem essa dinâmica de remover o favorito.
Se poder me explicar melhor como essa ação ocorre?
Atte
Opa Cleberson, tudo certo?
O funcionamento do @Input Pai e Filho é uma forma de comunicação entre componentes em uma aplicação. No exemplo citado, o componente "Pensamento" é o filho e o componente "Listar Pensamento" é o pai.
Ao utilizar o decorator @Input no componente filho, é possível definir propriedades que serão recebidas do componente pai. No caso, a propriedade "listaFavoritos" é criada no componente "Pensamento" e recebe a lista de favoritos do componente "Listar Pensamento".
Com essa comunicação estabelecida, quando o ícone de coração é clicado no componente "Pensamento" para desfavoritar, o método responsável por atualizar o favorito utiliza o método "splice", que remove o pensamento desfavoritado da lista de favoritos. Assim, o pensamento é instantaneamente removido da lista, proporcionando o comportamento desejado na aplicação.
Fico à disposição.
Um bom dia e bons estudos.
Também achei estranho. Funciona, mas acho que por outro motivo.
O que achei estranho é que a lista de favoritos criada no listar-pensamentos.component.ts não é utilizada para renderizar os pensamentos em lista-pensamento.component.html (que continua usando a lista com todos os pensamentos no ngFor)!
Por isso eu acho que funciona, mas por outro motivo. Acho que quando removemos um pensamento da lista de pensamentos favoritos, modificamos o estado do componente listar-pensamento e forçamos o componente a mudar. Mas isso é diferente de ter usado a lista de favoritos para renderizar os pensamentos favoritos.