96 votes

Sinon, sur StateProvider

En utilisant angular-ui-router, comment puis-je utiliser le méthode inverse en $stateProvider ou comment puis-je l'utiliser ?

0 votes

Qu'est-ce que vous essayez de faire ? (Veuillez noter que je ne comprends pas tout à fait $stateProvider.otherwise donc ça va m'aider)

0voto

The Red Pea Points 98

En réponse acceptée références angular-route demande ui-router . La réponse acceptée utilise le "monolithique" $routeProvider qui exige que le ngRoute (alors que ui-router besoins de l ui.router module)

En réponse la mieux cotée utilise $stateProvider à la place, et dit quelque chose comme .state("otherwise", { url : '/otherwise'... }) , mais je ne trouve pas de mention de "autrement" dans les documentation it links . Cependant, je vois que $stateProvider est mentionné dans cette réponse où il est dit :

Vous ne pouvez pas utiliser seulement $stateProvider . Vous devez injecter $urlRouterProvider

C'est là que ma réponse pourrait vous aider. Pour moi, il suffisait d'utiliser $urlRouterProvider juste comme ça :

 my_module
   .config([
    , '$urlRouterProvider'
    , function(
        , $urlRouterProvider){
            //When the url is empty; i.e. what I consider to be "the default"
            //Then send the user to whatever state is served at the URL '/starting' 
            //(It could say '/default' or any other path you want)
            $urlRouterProvider
                    .when('', '/starting');
                    //...
    }]);

Ma suggestion est cohérente avec la ui-router documentation , ( cette révision spécifique ), où l'on retrouve une utilisation similaire de l'élément . when(...) (le premier appel à la fonction) :

app.config(function($urlRouterProvider){
  // when there is an empty route, redirect to /index   
  $urlRouterProvider.when('', '/index');

  // You can also use regex for the match parameter
  $urlRouterProvider.when(/aspx/i, '/index');
})

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