11
votes

MODULE DE FONCTIONNEMENT NON Exporter des composants

My Simple App a un module racine nommé Appmodule em> et un module de fonctionnalité nommé homémodule em>. J'essaie de créer un itinéraire pour un composant nommé homecomponent em> (qui fait partie de homémodule em>) mais tout ce que je reçois est xxx pré>

App.Routing.ts P>

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

@Component({
  selector: 'home',
  template: '<h1>Hello World</h1>'
})

export class HomeComponent { }


1 commentaires

Ma réponse résout-elle votre problème?


4 Réponses :


12
votes

Ref1: http: // angularjs. blogspot.com/2016/08/angular-2-rc5-ngmodules-lazy-loading.html Ref2: https://angular.io/docs/ts/latest /guide/ngmodule.html#!#Imports

Numéro 1: NGModel Importation / Export H1>
import { Routes, RouterModule } from '@angular/router';

import { HomeComponent } from './home.component';

const homeRoutes: Routes = [
    {
        path: '',
        redirectTo: '/home',
        pathMatch: 'full'
    },
    {
        path: 'home',
        component: HomeComponent
    }
];

export const appRoutingProviders: any[] = [

];

export const routing = RouterModule.forChild(homeRoutes);


1 commentaires

Pendant un moment, j'ai pensé que définir le chemin : 'home', loadchildren: './home/home.module' avec le routage de l'enfant chemin: "Accueil", composant: Homecomponent donnerait des URL comme exemple.com/home/home , mais apparemment pas. Encore plus, lorsque vous ne répétez pas le chemin Home dans home / home.routing.ts , puis demandant exemple.com/home échoue. (Juste pour les futurs lecteurs; Je suis sûr que vous savez, @John.)



3
votes

Les modules de fonctionnalité doivent importer du commonModule au lieu de BrowserModule


0 commentaires

1
votes

Lors de la configuration d'un itinéraire où votre app.route.ts chargera votre homémodule à l'aide de loadchildren Il y a deux choses que vous devez faire. Soit: xxx

ou dans votre app.route.ts Vous devez ajouter #homemodule : xxx

Si vous envisagez d'ajouter des itinéraires supplémentaires à la maison.Route.ts C'est peut-être une bonne idée de définir des enfants des propriétés telles que: xxx

Ce que vous devez vous rappeler dans ce cas ci-dessus est que votre principal RouterOutlet dans votre app.common.TS (s'il est appelé comme ça), est ne va pas servir l'itinéraire tel que http: // quelque_url / home / 1 afin de charger HomedeTailsComponent.

La chose est que l'itinéraire servi par HomeDetailsComponent < / Code> est une voie d'enfant de Homecomponent et, en tant que telle modèle ou templateurl doit avoir sa propre < / Routeur-Outlet> Défini, Othlerise Vous obtiendrez un message d'erreur Impossible de trouver la prise principale pour charger "HomeDeTailsComponent".


0 commentaires

1
votes

@Yourfriendrezak, supprimez simplement le ".TS" de la déclaration ci-dessous: xxx

espère qu'il aide ...


0 commentaires