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

Rotas - No meu array eu posso chamar somente componentes?

Bom dia,

estou desenvolvendo um projeto e estou utilizando como referencia o alurapic, no modulo de rotas vi que todas as referencias nele são para componentes filho do modulo Root (AppModule),

"use strict";
var router_1 = require('@angular/router');
var cadastro_component_1 = require('./cadastro/cadastro.component');
var listagem_component_1 = require('./listagem/listagem.component');
var appRoutes = [
    { path: '', component: listagem_component_1.ListagemComponent },
    { path: 'cadastro', component: cadastro_component_1.CadastroComponent },
    { path: 'cadastro/:id', component: cadastro_component_1.CadastroComponent },
    { path: '**', component: listagem_component_1.ListagemComponent }
];
exports.routing = router_1.RouterModule.forRoot(appRoutes);
//# sourceMappingURL=app.routes.js.map

Vi que quando preciso de um serviço para um component por exemplo LoginComponent é necessário ter um modulo LoginModule o qual terá á anotação do declaretors que lista os components existentes no modulo e o providers com os serviços.

Mas quando vou referenciar na rota o meu modulo login ele da um erro de parse, falando que não conhece tags básicas

 LoginComponent@2:8
Can't bind to 'ngModel' since it isn't a known property of 'input'. (" s12">
          <input formControlName="email" name="email " type="email" placeholder="Your email" [ERROR ->][(ngModel)]="email" class="validate"/>

Desse contexto gigante é,

PERGUNTA -Quando eu vou referenciar a um modulo, eu sou obrigado a criar um component filho e chamar ele como uma TAG no template desse filho ou posso chamar diretamente na rota?

3 respostas

Oi Luciano!

Esse erro foi porque você não importou o módulo que disponibilizar ngModel.

Não é possível chamar módulos através de rotas, apenas componentes.

Obrigado pela resposta. Pesquisei um pouco mais no site do angular.io, e vi que um modulo é como um novo sistema, logo, modulos que são criados é necessário importar os modulos necessários, ele não herda do modulo pai . O modulo criado exporta os components que serão exportados. Pensando em arquitetura, um modulo tem um component que controla um ou mais components filho. Ele é exportado no modulo para poder ser utilizado nas rotas para ser chamado o modulo, ou ser utilizado dentro do template de outro Component. Acredito que seja mais ou menos isso. Muito Obrigado Flavio

solução!

Isso. Mas conseguiu resolver a questão no seu código ? Tudo certo?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software