我有一个角度应用程序,它有两个不同的部分。每个部分属于一种用户。有一些共性,但大多数情况下相当不同。例如:
/receptionist
- View Diary
- Answer Phone
- Make Tea
/ceo
- View Diary
- Announce Earnings
- Strategize
首席执行官和接待员都需要查看日记的功能。我想要根据登录的人来更改加载的模块(和路由)。
if (user.type === 'receptionist') {
app = angular.module('receptionistApp', ['diary', 'phone', 'tea']);
else {
app = angular.module('ceoApp', ['diary', 'earning', 'strategy']);
}
我想这样做是因为有一些重叠,但不是很多。每个应用程序实际上都很大。
我不想在这里实现任何安全性。每个应用程序都有不同类型的用户和角色。这些将通过WebApi得到保护。我只是想避免加载所有模块,而其中45%的模块对其他应用程序不感兴趣。
答案 0 :(得分:2)
是
另外,(你可能不需要这个)你可以加载模块even more dynamically,并自己初始化AngularJS,而不是立即加载。您可以删除ng-app指令,并进行手动初始化。
angular.element(document).ready(function() {
angular.module('myApp', []);
angular.bootstrap(document, ['myApp']);
});