0
votes

Sélecteur enfant composant avec modèle étendu

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 commentaires

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 ?


3 Réponses :


0
votes

Il suffit de remplacer le

@Component({
  selector: 'component-foo-bar',
  template: "<comp-children></comp-children>",
  styleUrls: ['./component-bar.css']
  })
export class ComponentFooBar { }


0 commentaires

0
votes

Lorsque vous héritez d'une classe, vous pouvez utiliser la logique de la classe de base mais pas le gabarit de celui-ci.

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)

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


2 commentaires

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.



0
votes

Si vous voulez faire une telle hiérarchie, vous n'avez pas besoin d'utiliser routeur-sortie ni héritage. Utilisez simplement des composants directement (par sélecteurs). Voir Stackblitz démo.


1 commentaires

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 intérieur parent-composant .