2014-09-10 5 views
0

Мое веб-приложение имеет много видов (шаблонов), и нет статического шаблона для составления шаблонаUrl только из параметров маршрута. Учитывая гибкость обновления маршрутов, я сохраняю таблицу маршрутизации на сервере SQL и создаю веб-службу RESTful для извлечения & обновления записей шаблона маршрута. Тем не менее, я не нашел способа вызвать $ http и $ rootScope в AngularJS во время фразы конфигурации.

Я понимаю .config бывает до .run в AngularJS. В конфигурации мы можем получить доступ только к постоянным и провайдерам. Но поскольку я использую функцию templateUrl, тело функции вызывается во время выполнения. мне было интересно, есть ли способ придать $ HTTP и $ rootScope в моей функции templateUrl, которые будут выполняться во время выполнения фразы ...

angular.module('app', ['ngRoute']).config(['$routeProvider', 

     function ($routeProvider) { 

      $routeProvider. 
        when('/:param1/:param2/:param3', 
        { templateUrl: function(element){ 
         // $http GET routing table from RESTful API 
         // store the table to $rootScope 
         // look up table with param1+param2+param3 as key, get template url 
         return templateUrlFromTable ; 
        }}). 

        otherwise({redirectTo: '/'}); 

     }]) 

Я очень новичок в AngularJS, любое другое предложение также приветствуется , Также, пожалуйста, исправьте меня, если мое понимание неверно. Спасибо.

+0

http://www.stackoverflow.com/questions/15286588/how-to-inject-dependency-into-module-configconfigfn-in-angular – alecxe

+0

Спасибо. Из соответствующей статьи я думаю, что ответ на мой первоначальный вопрос - «нет». Я должен использовать либо обработанный сервером маршрут в файле JavaScript, либо маршрутизацию сервера. –

ответ

0

Некоторые альтернативы для динамической маршрутизации обсуждаются на эту тему:

AngularJS dynamic routing

Другое альтернативное решение было бы оказать динамически маршрутизации конфигурации на стороне сервера, как это описано на этой статье:

http://odetocode.com/blogs/scott/archive/2014/03/24/dynamic-routes-with-angularjs.aspx

+0

Спасибо, andybn. Решения в потоках динамической маршрутизации «AngularJS» выглядят немного взломанными для меня. Теперь я использую маршрутизацию сервера для решения моей проблемы. –