angularjs – Angular:如何使用一个解决我的应用程序的所有路由

前端之家收集整理的这篇文章主要介绍了angularjs – Angular:如何使用一个解决我的应用程序的所有路由前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想解决承诺加载当前用户为我的应用程序的所有页面
现在我重复每个$ routeProvider.when()我的路由的解决方案。
$routeProvider.when('/users/edit/:userId',{
  templateUrl: 'app/app/assets/partials/user-edit.html',controller: 'UserEditController',resolve:{  
    'currentUser':function( UserService){            
        return UserService.getCurrentUser();
      }
  }
  });  

  $routeProvider.when('/staff_profil/edit',{
  templateUrl: 'app/app/assets/partials/profil-edit.html',controller: 'ProfilEditController',resolve:{  
    'currentUser':function( UserService){            
        return UserService.getCurrentUser();
      }
  }
 });

我的目标是解决我的当前用户的所有路由,没有重复。

你可以随时用 $routeProvider自己的实现包装现有的when方法
var myModule = angular.module('myModule',['ngRoute'])
   .config(['$routeProvider',function($routeProvider){

      var originalWhen = $routeProvider.when;

      $routeProvider.when = function(path,route){

         route.resolve = {
            'currentUser':function( UserService){            
              return UserService.getCurrentUser();
            }
         };

         return originalWhen(path,route);
      };   

   }]);

你可能想添加一些错误检查在那里,并使用像underscores defaults方法,而不是只覆盖现有的解决方属性,但至少这样,你可以保证所有的路由将有你想要的。

这也很容易包装成一个帮助方法

原文链接:https://www.f2er.com/angularjs/145304.html

猜你在找的Angularjs相关文章