2

我有一个有两个不同部分的角度应用程序。每个部分都属于一种用户。有一些共同点,但在大多数情况下大相径庭。例如:

/receptionist
    - View Diary
    - Answer Phone
    - Make Tea 
/ceo
    - View Diary
    - Announce Earnings
    - Strategize

CEO 和接待员都需要查看日记的功能。我想根据谁登录来更改加载的模块(和路由)。

if (user.type === 'receptionist') {
    app = angular.module('receptionistApp', ['diary', 'phone', 'tea']);
else {
    app = angular.module('ceoApp', ['diary', 'earning', 'strategy']);
}

我想这样做是因为有一些重叠,但不是很多。每个应用程序实际上都很大。

我不想在这里实现任何安全方面的事情。每个应用程序都有不同类型的用户和角色。这些将通过 WebApi 得到保护。我只是想避免加载所有模块,因为其中 45% 对其他应用程序不感兴趣。

4

1 回答 1

2

是的。

此外,(你可能不需要这个)你可以更动态地加载模块,并自己初始化 AngularJS,而不是让它立即加载。您可以删除 ng-app 指令,并进行手动初始化。

angular.element(document).ready(function() {
    angular.module('myApp', []);
    angular.bootstrap(document, ['myApp']);
});
于 2013-10-07T12:38:24.363 回答