3 votes

Angular2 Dart - obtenir les éléments enfants d'un composant

J'ai un composant appelé button-search qui comporte une liste déroulante avec des options de recherche :

<button-search> 
    <item type="identifier">Identifier</item>
    <item type="title">Title</item>
    <item type="city">City</item>
    <item type="town">Town</item>
    <item type="address">Address</item>
    <item type="postal">Postal</item>
    <item type="divider"></item>
    <item type="clear">Clear Search</item>
</button-search>

Le site item n'est pas censé rendre quoi que ce soit directement et sert plutôt à transmettre des paramètres complexes dans le composant button-search de sorte que le button-search peut rendre ces éléments de la liste déroulante de la manière dont ils doivent être rendus.

Item est défini comme suit :

@Component(
    selector: 'item',
    template: '')
class Item {

    @Input() String type = "type-goes-here";

}

ButtonSearch est défini comme suit :

@Component(
    selector: 'button-search',
    directives: const[Item],
    template: '''
       ... enormous template ...    
    ''')
class ButtonSearch {

    ButtonSearch(@ViewChildren(Item) QueryList<Item> items){

        print(items);

    }
}

Au lieu de voir une liste de 9 éléments s'afficher dans la console, tout ce que je vois est le suivant [] .

J'ai essayé d'utiliser un paramètre de type String au lieu d'un objet, mais cela me donne toujours null.

ButtonSearch(@ViewChildren('item') QueryList<Item> items){
  1. Qu'est-ce que je rate pour faire @ViewChildren récupérer tous les éléments et imprimer quelque chose d'autre que []

  2. Y a-t-il quelque chose de spécial à faire pour obtenir le texte entre <item> y </item> ou volonté @ViewChild travailler pour cela ?

Mise à jour : Modification du modèle pour inclure <ng-content></ng-content> :

template: '''
          <ng-content></ng-content>
           ... enormous template ...    
        ''')

Je peux voir que ce qui suit est imprimé dans le navigateur en tant que partie de l'écran d'accueil. button-search composant :

Identifiant, Titre, Ville, Adresse, Poste, Recherche claire

Au moins, je sais que la page sur laquelle je me trouve contient des éléments dans sa base de données. button-search composant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X