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

Objeto retorna _id vazio

Olá pessoal, estou na aula onde temos que manipular o ID das imagens cadastradas e quando eu clico na imagem não aparece o ID da imagem como parâmetro na URL, vi no console e todas as imagens estão com o _id vazio.

foto.component.ts

import { Component, Input, ViewEncapsulation } from '@angular/core';

@Component({
    moduleId: module.id,
    selector: 'foto',
    templateUrl: './foto.component.html',
    styleUrls: ['./foto.component.css'],
    encapsulation: ViewEncapsulation.Emulated
})
export class FotoComponent {

    @Input() titulo: string = '';
    @Input() url: string = '';
    descricao: string = '';
    _id: string = '';
}

app.routes

import { RouterModule, Routes } from '@angular/router';
import { ListagemComponent } from './listagem/listagem.component';
import { CadastroComponent } from './cadastro/cadastro.component';

const appRoutes: Routes  = [
  { path: '', component: ListagemComponent },
  { path: 'cadastro', component: CadastroComponent },
  { path: 'cadastro/:id', component: CadastroComponent },
  { path: '**', redirectTo: ''}
];

export const routing = RouterModule.forRoot(appRoutes);

Podem me ajudar?

4 respostas

Jogando um console.log no método remove() do listagem.compent.ts ele retorna o _id corretamente, mas só nesse arquivo.

Nos métodos cadastra em cadastro.component o _id é retornando vazio.

remove(foto: FotoComponent) {

        console.log(foto._id);

        this.service.remove(foto).subscribe(() => {
                console.log('Foto removida com sucesso');
                let novasFotos = this.fotos.slice(0);
                let indice = novasFotos.indexOf(foto);
                novasFotos.splice(indice, 1);
                this.fotos = novasFotos;
                this.mensagem = 'Foto removida com sucesso';
        }, erro => this.mensagem = 'Não foi possível remover a foto, tente novamente');

    }

Olá Aline Dias, tudo bom? consegue subir seu código no github e me mandar o link para eu dar uma olhada e ti dar uma solução focada no seu projeto?

Olá Mario, tudo bem, segue link:

https://github.com/alinedmelo/Alurapic

solução!

Consegui encontrar o erro. Por vacilo não inseri o a captura do _id no link. Agora funcionou:

<a [routerLink]="['cadastro', foto._id]">

Obrigada.