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

Erro na propriedade moduleId

Estou recebendo o seguinte erro quando defino o moduleId nas propriedades de NgModule:

Argument of type '{ moduleId: string; declarations: typeof FotoComponent[]; exports: typeof FotoComponent[]; }' is not assignable to parameter of type 'NgModule'.

Se eu tirar esta propriedade do module e manter apenas no component eu consigo acessar o html através do caminho relativo normalmente.

Houve alguma atualização em NgModule onde não é mais necessário definir a propriedade moduleId?

7 respostas

Pode postar seu código completo? Você esta usando a versão do Angular que disponibilizei no curso?

foto.component.ts

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

@Component({
    moduleId: module.id,
    selector: 'foto',
    templateUrl: './foto.component.html'
})
export class FotoComponent {

    @Input() titulo;
    @Input() url;
}

foto.module.ts

import { NgModule }         from '@angular/core';
import { FotoComponent }    from './foto.component';

@NgModule({
    declarations: [FotoComponent],
    exports: [FotoComponent]
})
export class FotoModule {

}

Dessa forma funcionou normalmente. Eu fiz o download do seu código e dei um npm i para instalar as dependências do projeto.

Então, para eu entender. Você usou o Angular que disponibilizei e funcionou conforme ensinado no curso, certo? Antes você tinha usado outra versão?

Pergunto isso porque mais de 500 alunos concluíram o curso sem problema algum. Só quero entender porque não ficou claro para mim se resolveu.

Parece que você havia usado as anotações (decorators) nas classes erradas, por isso o erro.

solução!

Só para deixar claro, moduleId não é para colocar em quem tem ngModule, é para colocar em quem tem @Component. Você inverteu, por isso o erro que recebeu. Ajustando como você fez, tudo funcionará devidamente.

Sucesso e bom estudo meu aluno!

Aaahh sim, erro meu Flavio, assisti novamente o vídeo e você colocou o moduleId no app.component e no foto.component, eu entendi que era no foto.component e no foto.module.

Agora tudo ficou claro, obrigado!

Tranquilo! Agora que resolveu é continuar com os estudos para não esfriar. Qualquer coisa grita.

Sucesso e bom estudo Gean!