Маршрутизация Angularjs в разных файлах

Я проверяю угловую маршрутизацию.

http://www.bennadel.com/blog/2420-Mapping-AngularJS-Routes-Onto-URL-Parameters-And-Client-Side-Events.htm

В примерах, которые я вижу, все маршруты определены в одном файле. Как определить разные маршруты в разных файлах/модулях?


person Harry    schedule 28.04.2013    source источник


Ответы (2)


В AngularJS маршруты определяются в блоке конфигурации. Каждый модуль AngularJS может иметь несколько блоков конфигурации, и вы можете определить маршруты в каждом блоке конфигурации. Окончательная маршрутизация для всего приложения представляет собой сумму маршрутов, определенных во всех модулях.

На практике вы можете сделать это так:

angular.module('myModule1', []).config(function($routeProvider){
  //define module-specific routes here
});

angular.module('myModule2', []).config(function($routeProvider){
  //define module-specific routes here
});

angular.module('myApp', ['myModule1', 'myModule2']).config(function($routeProvider){
  //define app-level routes here
});

Что касается разделения файлов - я думаю, это во многом зависит от того, как вы разделяете модули AngularJS в файлах. Я бы порекомендовал придерживаться принципа «один файл равен одному модулю».

Вы можете увидеть, как все это применяется к крупномасштабному веб-приложению в angular-app, попытка создать ссылку для нетривиального приложения, написанного на AngularJS:

В упомянутом приложении вы можете увидеть маршруты, определенные в нескольких файлах, например:

person pkozlowski.opensource    schedule 28.04.2013
comment
Как насчет случая, когда модуль устанавливает маршрут со свойством разрешения, который зависит от провайдера, и этот модуль указан как зависимость основного модуля приложения? Учитывая, что параметр провайдера будет установлен в модуле приложения, будет ли работать свойство разрешения? - person cameronroe; 13.11.2014

Вы можете создать приложение Angular с разными файлами, не указывая их, следуя этим шагам.

Шаг 1. Получите полный URL

var url = window.location.pathname;

Шаг 2 Сортировка только по имени файла

var filename = url.substring(url.lastIndexOf('/')+1);

Шаг 3 Отображение результата

alert(filename);

Я сделал это в w3schools, попробуйте редактор http://www.w3schools.com/code/tryit.asp?filename=FDP3QTCP7V4E

person JJ Siddeshwar    schedule 16.03.2017
comment
Этот ответ абсолютно не отвечает на исходный вопрос - person juanchavezlive; 23.05.2018