J'ai un composant de recherche contenant un logo, une barre de recherche et une roupée. L'exécution d'une recherche navigue sur les résultats, qui est le pseudo html décrit ici:
<search> <logo></logo> <searchbar></searchbar> <result-list></result-list> </search>
3 Réponses :
Ce que vous essayez de partager essentiellement l'état de l'application global La solution naïve évidente consisterait à maintenir l'état au composant parent partagé respectif et à la définir sur la base de la prise de routeur actuelle. P> ISSEARCHRESUTLIST: Boolean code> sur plusieurs composants.
<search>
<logo [isSearchResultList]="isSearchResultList"></logo>
<searchbar [isSearchResultList]="isSearchResultList"></searchbar>
<result-list></result-list>
</search>
J'espérais ne pas mettre un état là-bas. Solution similaire ci-dessous.
Je peux vous intéresser à cela, je serais également intéressé par des approches alternatives.
une solution similaire à celle de Jens Habegger en utilisant : contexte hôte (mycssclass) et un conditionnel. Le style doit être ajouté au logo code> code> et la barre de recherche code>.
:host-context(.myCssClass) {
color: black;
}
Vous pouvez utiliser des services pour la communication entre composants et ngclass pour le style dynamique.
notification.service.ts p> lorsque le composant de soeur Envoie un message. p> bar.component.ts p> écoutez les messages entrants de votre composant. p> foo.component.ts p> < Pré> xxx pré> Vous pouvez appliquer n'importe quelle classe via ngclass p> foo.component.html p>
Dep de Stackoverflow.com/Questtions/36527605/...
J'ai lu ce post, c'est-à-dire du parent et non d'un frère de frère.
Souhaitez-vous créer une plunk?
J'ai eu ton point mais je ne pense pas qu'il y ait un moyen de styler une composante frère de frère de frère. Soit vous pouvez le faire du parent ou de l'enfant.
D'accord. Je suppose que je devrais alors donner le logo et le composant de la barre de recherche un paramètre pour ajouter une classe de style pour la page Résultat. Une sorte de contradiction de l'approche de la composante.
Encore une fois, je ne comprends pas mais sonne comme une solution.