angularjs ui-routeur par défaut enfant et ui-sref
Je avoir les états suivants dans mon ui-router état fournisseur de:
$urlRouterProvider.when('/parent', '/parent/child');
$stateProvider.state('parent', {
url: "/parent",
abstract: true
});
$stateProvider.state('parent.child', {
url: "/child"
});
Qui suit les meilleures pratiques pour avoir un enfant par défaut de l'état, comme l'explique ici dans l'interface utilisateur du routeur docs.
Cependant, quand je suis désormais inclure un lien dans mon document quelque part référencement parent avec ui-sref
comme <a ui-sref="parent">Link</a>
j'obtiens toujours un message d'erreur indiquant que je ne peux pas la transition à un résumé de l'état. Quand je rentre manuellement l'URL dans la barre d'adresse et appuyez sur entrée tout fonctionne bien.
Liées Plunker: http://plnkr.co/edit/d3Z0tOwC3VCTPqGiB0df?p=preview
Comment puis-je combiner ui-sref
avec enfant par défaut des etats-unis?
source d'informationauteur Robin
Vous devez vous connecter pour publier un commentaire.
états abstraits ne peuvent pas être directement ciblées. Ils constituent une base pour construire enfant, les états. La seule raison pour laquelle il fonctionne très bien avec l'URL, c'est que le parent se fait attraper par la .lorsque
Cela signifie que lorsque vous appelez un enfant à l'aide de
l'enfant à l'intérieur de la mère est chargé, sens le parent sera chargé comme le calque autour d'elle.
De ne jamais la cible d'un résumé de l'état lui-même. C'est comme avoir une porte à l'intérieur d'un cadre de porte. Vous ne pouvez ouvrir et d'interagir avec la porte (de l'enfant), mais jamais avec le cadre (parent) directement. Toutefois, lorsque vous interagissez avec la porte, la porte et le cadre font partie d'un système qui est chargé.
Vous pouvez donner à l'enfant un vide d'URL, de sorte qu'il ne peut pas ajouter quelque chose de la mère-patrie URL et sera ensuite chargé.
Voir ici pour plus d'info:
https://github.com/angular-ui/ui-router/wiki/Nested-States-%26-Nested-Views#abstract-states
Si vous souhaitez utiliser
$state
's pratique structure de nommage pour les états abstraits, vous pouvez l'utiliser dans un service:Ou ce dans un modèle (
$state
doit être disponible dans le local ou global$scope
):Si je me suis retrouvé à le faire régulièrement, je voudrais créer une directive similaire à
ui-sref
pour cet, moins le résumé de l'état de limitation.