Angular2 Routeur: Impossible de trouver la primaire la prise à charge "HomeComponent'
essayé de passer à nouveau Routeur comme dans la version "@angulaire/routeur": "3.0.0-beta.2" en combinaison avec "@angulaire/*": "2.0.0-rc.4", à la suite de l'officiel de docs sur le ComponentRouter.
Cependant, je suis confronté à un problème lorsque vous essayez de charger mon Application avec la valeur par défaut HomeComponent:
Cannot find primary outlet to load 'HomeComponent'
Il semble que cela a à faire avec l'aide de templateUrl et un fichier html externe au lieu d'utiliser la ligne de style de modèle.
HomeComponent est initialement affichée dans la Fenêtre et le message d'erreur est affiché sur la console. Cependant, lorsque j'utilise le lien de la Maison Composant, il sera affiché et de seconde main.
Dès que je change de
templateUrl: 'home.html'
à
template: '<router-outlet></router-outlet>'
d'erreur a disparu, HomeComponent est montré et le routage fonctionne comme prévu.
Est qu'un problème connu? Faut-il travailler pour quelqu'un à l'aide de templateUrl? Est-il quelque chose que j'ai du respect pour le faire fonctionner?
- Pouvez-vous afficher le composant de métadonnées pour la maison composante ressemble à vous donner une URL relative, mais pas de réglage de moduleid. id module: module.id. blog.thoughtram.io/angulaire/2016/06/08/...
- Sûr que je peux:
@Component({ selector: 'app', directives: [ ROUTER_DIRECTIVES ], templateUrl: '/app/components/app/app.html' })
et@Component ({ selector: 'start.home', directives: [], templateUrl: '/app/components/start/page.home.html' })
ce qui ne devrait pas être un problème - Modèle d'URL ne fonctionne pas. C'est une question de la configuration êtes-vous sûrs u ajoutée routeur directive et le routeur prises au bon endroit. Fournir un plunker
- Oui. Travaillé dans un Plunkr.
- ROUTER_DIRECTIVES dans
@Component({directives: [AnimatedImages, ROUTER_DIRECTIVES]})
défi est nécessaire, car il résout la sortie de la balise - ROUTER_DIRECTIVES ont été dépréciés.
Vous devez vous connecter pour publier un commentaire.
Le problème, c'est que grâce à une application de l'écran de chargement, le
<router-outlet></router-outlet>
n'existe pas, parfois, encore, en raison d'une condition de course. Si vous avez besoin de cacher la partie html contenant la prise, l'utilisation[hidden]
au lieu de*ngIf
, pour s'assurer que la prise est toujours dans les DOM et n'est pas supprimée de façon conditionnelle.