Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 带有AngularJS的门户类型应用程序(多个独立应用程序)_Ajax_Angularjs_Portal - Fatal编程技术网

Ajax 带有AngularJS的门户类型应用程序(多个独立应用程序)

Ajax 带有AngularJS的门户类型应用程序(多个独立应用程序),ajax,angularjs,portal,Ajax,Angularjs,Portal,我们正在尝试创建一个门户类型的应用程序,其中包含多个/独立的“子应用程序”。假设所有子应用程序都是用Angular编写的,那么实现以下目标的好模式是什么 每个应用程序都可以独立开发和部署 它们共享一个公共身份验证服务,它们可以共享公共库(指令、过滤器等) 在任何给定时间,只有一个应用程序可见并处于活动状态。每个子应用程序的范围彼此隔离 当用户在子应用之间切换时,只要用户不刷新页面或访问其他静态链接,状态就会保持不变。(我认为这是建立在角度和没有特别的努力可能需要) 每个子应用程序将有多个视图(它

我们正在尝试创建一个门户类型的应用程序,其中包含多个/独立的“子应用程序”。假设所有子应用程序都是用Angular编写的,那么实现以下目标的好模式是什么

  • 每个应用程序都可以独立开发和部署
  • 它们共享一个公共身份验证服务,它们可以共享公共库(指令、过滤器等)
  • 在任何给定时间,只有一个应用程序可见并处于活动状态。每个子应用程序的范围彼此隔离
  • 当用户在子应用之间切换时,只要用户不刷新页面或访问其他静态链接,状态就会保持不变。(我认为这是建立在角度和没有特别的努力可能需要)
  • 每个子应用程序将有多个视图(它将有自己的菜单)。根据可用的子应用程序,将有一个顶部菜单。理想情况下,顶部菜单是根据部署的子应用动态构建的。可能有一个服务器端组件(服务器检测文件夹结构等,确定部署了哪些应用程序,并将必要的js代码注入页面)

  • 鉴于AngularJs没有多级视图结构,我考虑在不同的div上使用多个ng应用程序声明,然后使用$window scope存储活动应用程序的密钥并隐藏那些不活动的

    对于您的(相当开放的)问题没有简单的答案,但是关于$route和ngView的限制,我已经成功地使用了一种由此衍生的技术:

    这也是我一直在考虑尝试实现的东西。虽然我没有一个完整的工作解决方案,但我相信这种类型的门户应用程序将由同一页面上的多个Angle应用程序组成

    门户应用程序将是主页上的传统ng应用程序指令,“Portlet”将在子视图分区上动态创建和手动引导。您可以通过注入门户服务(包含在其自己的模块中)共享数据、状态、身份验证、个性化等将这些功能提供到手动引导的portlet应用程序中

    棘手的部分是门户应用程序如何发现portlet应用程序并提供其角度模块,知道这些应用程序将独立部署具有自己URL的web应用程序

    我仍然有一些疑问,关于服务数据是否在应用程序之间是通用的,或者您是否需要尝试通过门户服务(如数据管理器)利用HTML5本地存储