使用rest服务中的数据配置AngularJS路由

使用rest服务中的数据配置AngularJS路由,angularjs,angularjs-routing,Angularjs,Angularjs Routing,是否可以使用JSON rest服务中的数据配置AngularJS路由 基本上,我想做的是使用相同的数据生成一个菜单指令和$routeProvider module.config()将不接受注入的服务,module.run()似乎与基于承诺的数据混合不好 var routeData = { routes : [ { 'routeUrl' : '/page1',

是否可以使用JSON rest服务中的数据配置AngularJS路由

基本上,我想做的是使用相同的数据生成一个菜单指令和$routeProvider

module.config()将不接受注入的服务,module.run()似乎与基于承诺的数据混合不好

    var routeData = {
      routes    :
            [
                {
                    'routeUrl' : '/page1',
                    'title' : 'A home for Pizza',
                    'templateUrl' : '/Views/page1.html',
                    'controller' : 'AppCtrl'
                },
                {
                    'routeUrl' : '/page2',
                    'title' : 'Some YouTube video',
                    'templateUrl' : '/Views/page2.html',
                    'controller' : 'AppCtrl'
                },
                {
                    'routeUrl' : '/page3',
                    'title' : 'this is page 3',
                    'templateUrl' : '/Views/page3.html',
                    'controller' : 'AppCtrl'
                }
            ],
      defaultRoute : "/page1"
    };

overviewApp.config(['$routeProvider', function ($routeProvider) {
    var x, current;
    for (x in routeData.routes) {
        current = routeData.routes[x];

        $routeProvider.when(
            current.routeUrl,
            {
                templateUrl: current.templateUrl,
                controller: current.controller
            }
        );
    }

    $routeProvider.otherwise({
    redirectTo: routeData.defaultRoute
  });
}]);

如果要访问在配置阶段通常不可用的服务,请参阅。或者,您可以选择以下其他选项:

  • 在(手动)引导Angular应用程序之前,对
    RoutedData
    发出XHR请求。您可以使用:
    • 普通XMLHttpRequest对象,或
    • 您选择的库/包装器(jQuery等),或
    • 使用迷你Angular应用程序访问
      $http
      并发出请求。此迷你应用程序独立于您的主Angular应用程序。看
  • 在执行Angular之前,让服务器端检索并提供
    RoutedData