Olá! Estou recebendo o erro:
Cannot read property 'duasCasas' of undefined no carrinho.js.
Segui todos os passos da aula. Conferi o meu código com o do projeto e está igualzinho.
Alguém poderia me ajudar?
Olá! Estou recebendo o erro:
Cannot read property 'duasCasas' of undefined no carrinho.js.
Segui todos os passos da aula. Conferi o meu código com o do projeto e está igualzinho.
Alguém poderia me ajudar?
Oi Suellen, tudo bem?
Por favor, faça uma depuração na aplicação:
Para começar a depurar, coloque esta linha no início da função
done()
:
debugger;
Durante a depuração, confira se as
maiúsculas/minúsculas estão corretas nestas 2 propriedades subTotal
e total
.
Se estiverem incorretas, por favor corrija e remova a linha debugger;
Se estiver tudo certo, por favor poste aqui seu código JavaScript.
Obrigado!
Consegui. Estava faltando duas coisas.
Na Models/modelo.cs estava faltando isso:
[DataMember]
public decimal Subtotal => Quantidade * PrecoUnitario;
E o meu JavaScript ficou assim:
postQuantidade(data) {
$.ajax({
url: '/pedido/updatequantidade',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(data)
}).done(function (response) {
let itemPedido = response.itemPedido;
let linhaDoItem = $('[item-id=' + itemPedido.id + ']')
linhaDoItem.find('input').val(itemPedido.quantidade);
linhaDoItem.find('[subtotal]').html((itemPedido.subtotal).duasCasas());
let carrinhoViewModel = response.carrinhoViewModel;
$('[numero-itens]').html('Total: ' + carrinhoViewModel.itens.length + ' itens');
$('[total]').html((carrinhoViewModel.total).duasCasas());
if (itemPedido.quantidade == 0) {
linhaDoItem.remove();
}
debugger;
});
}