2015-01-26 2 views
1

Они так поняли, что лучше использовать один модуль за функциональность. Для моего демонстрационного приложения я создал модуль (с одним, а иногда и двумя контроллерами) для просмотра профиля пользователя, тележки и продукта.Можно ли сосуществовать два ng-приложения на одной странице?

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

Зная, что функциональность входа потребуется на почти всех страницах, я хотел бы знать, могут ли 2 модуля сосуществовать на одной странице?

На всех моих страницах отсутствует директива ng-controller, только ng-app="cartModule". Я не вижу кода, который использует более одного модуля.

Например, после входа в систему мне необходимо ввести userId для перехода на страницу тележки, страницу профиля, страницу продукта и т. Д. До сих пор я жестко закодировал userId, чтобы позволить мне продолжать кодирование. Альтернативой было бы объединить все функции в одном гигантском модуле.

Любая идея о том, как бороться с общими проблемами?

+1

переместить данные и методы Auth в службу, которая может быть введена любым контроллером, другой службой или использована в обещании решения маршрута. – charlietfl

ответ

2

При объявлении модуля, вы можете зависеть от других модулей и они доступны, а также:

angular.module('myModule', ['dataModule', 'someUiModule', ..., ]) 

Таким образом, сделать это.

У вас могут быть отдельные приложения на одной странице, но на самом деле это не имеет особого смысла.

+2

документы фактически говорят только для начальной загрузки на странице html ... хотя это возможно сделать Больше – charlietfl

0

Да, это возможно, если вы вручную самонастройки Угловая:

angular.element(document).ready(function() { 
    var app1 = angular.module('app1',[]); 
    var app2 = angular.module('app2',[]); 
    ... // Find the two DOM elements 
    angular.bootstrap(element1, ['app1']); 
    angular.bootstrap(element2, ['app2']); 
}); 

В HTML, убедитесь, чтобы удалить все директивы ngApp.

Смежные вопросы