2016-06-20 6 views

ответ

0

Маршруты определены через API $routeProvider. И поставщики доступны только на этапе конфигурации. Это означает, что когда маршруты настроены, вы не можете выполнять HTTP-запросы для получения данных с сервера, например файлы JSON с конфигурациями маршрутов.

Я предлагаю вам конвертировать JSON-файл в угловую константу.

// route.constants.js 
angular 
    .module('app') 
    .constant('ROUTES', [ 
     {url: '/some-url', templateUrl: '/path/to/template.html', controller: 'MyCtrl'}, 
     ... 
    ]); 

Поскольку константы доступны во время конфигурации вы можете вводить ROUTE в .config(). И затем вы можете перебирать элементы в массиве ROUTES и настраивать $routeProvider:

// route.config.js 
angular 
    .module('app') 
    .config(['$routeProvider', 'ROUTES', function($routeProvider, ROUTES) { 
     ROUTES.forEach(function(route) { 
      $routeProvider.when(route.url, { 
       templateUrl: route.templateUrl, 
       controller: route.controller 
      }); 
     }); 
    }]) 
Смежные вопросы