2015-10-30 1 views
0

J'ai la configuration de routage suivante avec plusieurs URL qui doit être résolue en fonction de la valeur de certaines fonctions. Voici le bout de code:Refactor Configuration de routage AngularJs

$routeProvider 
      .when('/url_with_restrictions', { 
       templateUrl: '/pages/private/add_entity/add_gasstation.html', 
       controller: 'ControllerName', 
       // restrict angularjs routing 
       resolve: { 
        validate: functionToBeInjected(){ 
         var validateAccess = $q.defer(); 
         return validateAccess.promise; 
        } 
       } 
     }) 

Comment puis-je définir la fonction functionToBeInjected() et l'utiliser dans tous les resolve pour un contrôleur?

Répondre

0

Vous pouvez tout simplement extraire une fonction de mettre en place des itinéraires

function addRoute(url, template, controller) { 
    functionToBeInjected = ... 
    $routeProvider 
     .when(url, { 
      templateUrl: template, 
      controller: controller, 
      // restrict angularjs routing 
      resolve: { 
       validate: functionToBeInjected(){ 
        var validateAccess = $q.defer(); 
        return validateAccess.promise; 
       } 
      } 
    }) 
}; 
+0

Et je vais obtenir une erreur $ q n'est pas défini. –