7
respostas

Me deu branco: de onde vem o "userName" na linha const userName = route.params.userName;

Pessoal, boa noite.

Me deu um branco, na linha abaixo, de onde vem mesmo o userName? Ou seja, em qual arquivo ts eu coloquei isto de forma que quando digito route.params.user... ele já continua preenchendo automaticamente?

route.params.userName;
7 respostas

Oi, Daniel, tudo bem?

Segue a aula em que foi definido o userName: https://cursos.alura.com.br/course/angular-fundamentos/task/38532

Espero ter te ajudado!

Boa tarde, Laís.

Acho que não é nesta aula, porque por exemplo, se eu troco o nome do parâmetro userName em PhotoService.ts para, por ex, userNameSS, quando "digitoroute.params.user..." o Visual Studio continua preenchendo userName pelo InteliSense.

Gostaria de saber de onde ele está puxando via intelisensse o parâmetro "userName".

Boa noite,

Ninguém?

A pior coisa que tem é pagar pelo curso, escrever uma dúvida e esperar dias por uma resposta final, fazendo assim com que o raciocínio seja interrompido.

Bom dia.

Você pode postar seu código do PhotoService.ts? Não encontro essa linha no meu.

Boa noite,

Dei continuidade no curso, e agora esta linha está em "photo-list-resolver.ts, veja abaixo:

import { Injectable } from '@angular/core';
import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs';

import { PhotoService } from '../photo/photo.service';
import { IPhoto } from '../photo/photo';

@Injectable({ providedIn: 'root'})
export class PhotoListResolver implements Resolve<Observable<IPhoto[]>>{

    constructor(private service: PhotoService){}

    resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<IPhoto[]> {
        const userName = route.params.userName;
        return this.service.listFromUserPaginated(userName, 1);
    }

}

Falaaaa Daniel, tudo bem ?

Na linha:

route.params.userName;

Este userName vem do arquivo app.routing.module.ts, nele, temos:

path: "user/:userName"

Nesta linha que citei acima estamos definindo um nome coringa para o segmento da rota capaz de devolver o nome do usuário digitado na rota. Caso fosse outro nome diferente de userName, por exemplo:

path: "user/:nomeUsuario" 

Teríamos que definir:

route.params.nomeUsuario;

Faça o teste :)

Este arquivo app.routing.module.ts foi definido nesta aula e nesta aqui foi definido o parâmetro userName.

Espero ter ajudado. Bons estudos!!!