J'ai essayé de trouver une solution simple. p>
J'ai un pour la boucle d'affichage d'une liste d'éléments. En cliquant sur l'un des éléments que vous avez des itinéraires sur le composant détaillé et que je veux juste que l'élément sélectionné soit disponible dans le composant détaillé. Pour une raison quelconque, il n'y a pas de solution simple (dont je suis au courant). Je m'attendrais à ce qu'il y ait quelque chose comme ceci: p>
`` p> ``
C'est ce que je veux. Mais, bien sûr, cela ne fonctionne pas. P>
Ainsi, je passe à la place de l'identifiant d'élément en tant qu'élément QueryParams, puis effectuez un appel de service sur le composant de détail pour récupérer l'élément. Cela fonctionne bien, mais semble être beaucoup de travail à faire quelque chose qui devrait être si simple. P>
Est-ce que je manque quelque chose? p>
5 Réponses :
S'il vous plaît essayez comme ça
cela ne fonctionne pas. Et même si cela le faisait, cela passerait simplement l'identifiant. J'espère que l'objet entier (produit) dans son intégralité.
Les objets passés par routage sont des options limitées. L'utilisation d'un service est la meilleure option. Si vous fournissez une instance de service par le parent composant, puis le même instance est injecté dans le parent et l'enfant et vous avez les données partagées disponibles immédiatement. P> blockQuote>
Si je ne me trompe pas, cela parle de composants parent-enfant de la même vue, par opposition à un composant d'affichage issu d'une autre vue complètement différente.
Oui, tu as raison. L'itinéraire angulaire a un impact sur l'URL lorsque vous passez un paramètre à suivre.
Ce que je pense sur la raison pour laquelle il n'ya aucun moyen de passer un objet via un routeur est parce que si vous passez les données et le rendus disponible sur le Les données sont disponibles sur le Que se passe-t-il si vous actualisez d'où obtiendrez-vous les données pour route2 code>, p>
itout2 code> juste parce qu'il est transmis à partir de
route1 code>. p>
route2 code> ?? p>
route2 code>, votre page s'effondrerait. P>
Je ne sais pas. Je suis habitué au développement de l'objectif C iOS et il est extrêmement simple de transmettre tout type d'objet de données d'une VC à une autre. Mais peut-être que vous avez raison. Dans iOS, il n'y a pas de tel concept de rafraîchissement.
Et le développement de l'application mobile est différent du développement de l'application Web. Le développement de l'application mobile aura un cycle de vie propre, même si vous minimisez / terminez l'application et ouvrez-la à nouveau, il ouvrira un écran spécifique. comme onresume code> événement ou quelque chose.
de Angular 7.2 Vous pouvez transmettre l'argument au routeur, voir Ce lien superbe
in .html Vous devez utiliser [état], par exemple p> deux obtenir l'état que vous avez deux options, de une composante non principale-application, voir
Cette réponse , de l'application principale que vous pouvez vous abonner à router.vents < / p> REMARQUE: Si vous utilisez cette APRAOD, rappelez-vous que si vous accédez directement à votre "élément", vous possédez un "élément" p> p >
Vous ne voulez pas payer un objet à travers un routeur. Au lieu de passer une pièce d'identité, puis reprochez l'élément de la nouvelle page. De cette façon si vous actualisez la nouvelle page, tout fonctionne toujours. P>