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

Caso queira editar e deletar os itens da lista...

Usando a mesma lógica de código, como criar os métodos/views para editar e deletar itens da lista?

7 respostas

Bom dia.

Qualquer alteração que você faça na lista que alimenta o template fará com que a view se renderize.Todavia, a regra de negócio é não poder alterar a lista, então para seu teste você terá que alterar sua classe para que a lista seja mutável ou criar métodos que recebem a posição do item e remove o item usando seu conhecimento fundamental de manipulação de array.

Por fim, você pode disparar eventos que chamam o método do controller.

No final do módulo 2 terá um exercício que ordena as colunas dando um double clique. Nela você aprenderá delegação e eventos, parte fundamental para conseguir o que você deseja fazer.

https://cursos.alura.com.br/course/javascript-es6-orientacao-a-objetos-parte-2/task/17530

Como você ainda está na parte 1, sugiro avançar mais um pouco para mais tarde tentar resolver o problema proposto.

Tentei aqui... excluir funcionou, mas a edição não como deveria: usei o slice e acho que não é o mais recomendado.

Demo: https://pwa-contacts.surge.sh Código: https://github.com/raloliver/pwa-contacts

Chegou a terminar os 3 módulos já?

Sua App está funcionando. Sua dúvida é usar slice ou não para alterar? É isso?

Se você sabe a posição do elemento pode atribuir o valor direto na posição.

Parabéns pela pwa!

Ainda não comecei a parte II do curso de JS, vou continuar assim que concluir o de PWA e o de MEAN, só preciso corrigir essa falha na edição pra ter um CRUD básico.

A edição funciona, mas tá com algum problema no índice... se eu adiciono 3 itens a lista e edito o último ou o do meio, o primeiro item some... tá perdendo a referência, só não consegui entender se o problema é no template ou no controller (há, vou comprar o livro do congaceiro pra reforçar o ES2015).

Blz. Quando estiver no meu mac dou uma olhada.

solução!

Só me explica essa linha

this._contactList.edit(this._editContact(contactId));

Não entendi. Porque _editContact não retorna nada e você está passando para this._contactList.edit. Confuso.

Sugiro terminar os 3 módulos para que você possa organizar ainda melhor seu código. Você está usando uma solução incompleta que aprendeu no módulo 1. Vai bater muita cabeça.

Era o método que não retornava nada o prob?