Sinon sur StateProvider
L'aide d'angular-ui-router, Comment puis-je utiliser le sinon la méthode sur $stateProvider ou comment puis-je l'utiliser à tous ?
- qu'essayez-vous de faire? (Veuillez noter que je ne comprends pas tout
$stateProvider.otherwise
, donc ça va m'aider)
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas utiliser seulement
$stateProvider
.Vous avez besoin d'injecter
$urlRouterProvider
et de créer un code similaire à:La
/otherwise
url doit être défini sur un état comme d'habitude:Voir ce lien où ksperling explique
$stateProvider
. C'est moins de travail si vous voulez juste pour afficher un modèle, mais pas de redirection. Je préfère @juan hernandez réponse.otherwise
(dans ce cas'/otherwise'
) correspondre au nom de l'état (le premier paramètre à.state
) ou la valeur deurl
option?Vous pouvez avec
$stateProvider
à l'aide de la attraper tous syntaxe ("*path"
). Vous avez juste besoin d'ajouter un état config en bas de votre liste comme le suivant:Toutes les options sont expliquées dans https://github.com/angular-ui/ui-router/wiki/URL-Routing#regex-parameters.
La belle chose de cette option, par opposition à
$urlRouterProvider.otherwise(...)
, c'est que vous n'êtes pas contraint à un changement d'emplacement.you're not forced to a location change
?/this/does/not/exist
, puis l'URL restera dans la barre d'adresse. L'autre solution sera de vous prendre pour/otherwise
Vous pouvez également manuellement injecter $de l'état dans le contraire de la fonction, que vous pouvez ensuite naviguer vers un non-url de l'état. Ceci a l'avantage de le navigateur de ne pas changer la addressbar, ce qui est utile pour la gestion de revenir à une page précédente.
Ok, l'idiot moment où vous vous rendez compte que la question est répondue dans les premières lignes de l'exemple de code! Il suffit de prendre un coup d'oeil à l'exemple de code.
Jetez un oeil ici.
Je veux juste carillon sur la grande qualité des réponses qui sont déjà fournis. La dernière version de
@uirouter/angularjs
marqué la classeUrlRouterProvider
comme obsolète. Ils recommandent maintenant à l'aide deUrlService
à la place. Vous pouvez obtenir le même résultat avec la modification suivante:Méthodes supplémentaires: https://ui-router.github.io/ng1/docs/1.0.16/interfaces/url.urlrulesapi.html
La accepté de répondre à références
angular-route
pose des questions surui-router
. L'on a accepté la réponse utilise le "monolithique"$routeProvider
, ce qui nécessite langRoute
module (alors queui-router
besoins de laui.router
module)La la mieux classée répondre utilise
$stateProvider
au lieu de cela, et dit quelque chose comme.state("otherwise", { url : '/otherwise'... })
,mais je ne trouve pas de mention de "autrement" dans le documentation les liens. Cependant, je vois que
$stateProvider
est mentionné dans cette réponse où il est dit:C'est là que ma réponse peut vous aider. Pour moi, il suffit d'utiliser
$urlRouterProvider
comme cela:Ma suggestion est compatible avec les
ui-router
la documentation, (cette révision spécifique), où il comprend une utilisation similaire de la .when(...)
méthode (le premier appel à la fonction):