Je veux créer un composant avec la hiérarchie de vue en dehors du routeur et Routermodule
Exemple: p>
comp-parent.ts p>
@Component({
selector: 'component-foo-bar',
template: "<comp-children></comp-children>",
styleUrls: ['./component-bar.css']
})
export class ComponentFooBar { }
3 Réponses :
Il suffit de remplacer le
@Component({
selector: 'component-foo-bar',
template: "<comp-children></comp-children>",
styleUrls: ['./component-bar.css']
})
export class ComponentFooBar { }
Lorsque vous héritez d'une classe, vous pouvez utiliser la logique de la classe de base mais pas le gabarit de celui-ci. P>
Enfait, vous n'avez pas utilisé le composant enfant à l'intérieur du composant parent. (Je voulais dire utiliser le sélecteur de composant enfant dans le modèle de composant parent) P>
Donc, ils ne sont pas des parents et des enfants réellement et ils ne sont que des classes de base et dérivées p>
Ce serait mieux si vous publiez tout votre code sur Stack Blitz
Le routage de routeur et de l'état fonctionne comme je l'ai décrit (si vous définissez un routage approprié), mais je veux l'utiliser en dehors du routage de l'URL.
Si vous voulez faire une telle hiérarchie, vous n'avez pas besoin d'utiliser routeur-sortie code> ni héritage. Utilisez simplement des composants directement (par sélecteurs). Voir Stackblitz démo. P>
Cela fait partie du mécanisme plus grand, je ne peux pas utiliser les enfants dans le composant parent comme prévu dans votre exemple, car il ne s'étend pas de modèle de base. Il utilise simplement composant enfant code> intérieur parent-composant code>.
Dans votre fichier de composant-foo-bar.ts, vous avez utilisé un templateRL mais a donné directement au code HTML. Est-ce une erreur dans la publication du code?
Yep, faute de frappe. Fixé.
Qu'entendez-vous par «en dehors du routeur et de routeurs» et utilisez-vous
routeur-sortie code>?