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

Cannot read property 'duasCasas' of undefined

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?

2 respostas

Oi Suellen, tudo bem?

Por favor, faça uma depuração na aplicação:

  1. Para começar a depurar, coloque esta linha no início da função done():

    debugger; 
  2. 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!

solução!

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;
        });
    }