加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJS:如何在一个有角度的应用程序中嵌套应用程序

发布时间:2020-12-17 08:57:17 所属栏目:安全 来源:网络整理
导读:我一直在一个项目,更像一个框架,并有几个应用程序/模块,你可以安装。查看它像一个基本的appstore或google.play商店。它是一种内部网应用程序,所有模块都可以添加到您的用户帐户。 该框架已经在开发中,但我现在围绕应用程序/模块的想法。 (link to a pro
我一直在一个项目,更像一个框架,并有几个应用程序/模块,你可以安装。查看它像一个基本的appstore或google.play商店。它是一种内部网应用程序,所有模块都可以添加到您的用户帐户。

该框架已经在开发中,但我现在围绕应用程序/模块的想法。 (link to a proof of concept in development,can be found here)

应用程序应该有些独立,并且不能突然包括来自框架的脚本。这是完全可能的,通过在单独的模块中构造它们,如:

angular.module('myApp',[]);

然而,一个应用程序可以有模板,脚本,CSS和它可以运行在一个单独的服务器,所以我在寻找最好的方法来获取脚本和CSS文件,并动态加载到应用程序当用户从框架内启动应用程序时。

>目前我的结构化应用程序,如果他们有一个主要的模板,例如www.framework.com/apps/myapp/views/app.html,为了简单,我把脚本捆绑到每个应用程序的1个脚本文件,所以有还包括一个www.framework.com/apps/myapp/script.js。

框架包含一个加载应用程序的模板和一个appController。模板包含此片:

<div data-ng-controller="AppController" data-ng-include="app.appTemplate">
    <div>loading...</div>
</div>

这基本上绑定到$ scope.app.appTemplate,它会在所有脚本加载时更新,因此首先它显示一个加载模板,稍后在脚本包含在页面中后,将app.appTemplate更新到上述主模板应用。

而加载第一个索引模板的工作,这个模板当前加载的AppController从框架,所以它使用框架的$范围,而不是自己的脚本。

我仍然不得不以某种方式启动应用程序自己的角模块,并让它自己的没有在框架中运行任何东西,使“工作”

我仍然在弄明白如何最好地加载依赖的javascript文件(可能会使用requrejs或其他依赖加载器),但我目前没有线索如何“启动”应用程序,而不是从框架的AppController

编辑

我创建了一个小的演示项目来显示手头的问题,full code is visible at git-hub目前这个项目做了一些硬编码,这个想法是,我使那些较少的硬编码,当我得到的概念的证明,现在,在框架内加载应用程序。如果这是可能的,我可以想到在哪里获得URL和应用程序名称从…

您无法在另一个自举模块中引导模块。 Bootstrapping编译视图并将一个rootScope绑定到它,遍历它的方式通过DOM和设置范围绑定和执行指令链接函数一直通过。如果你这样做了两次,你会遇到问题。

你可能要重新思考你的架构。我认为或许“模块”或“应用程序”这个词,它属于Angular是一个misnomer,并导致你走错路径。

应用程序中的每个“用户安装的应用程序”应该实际上由应用程序模块中的控制器控制,或者注册到应用程序模块引用的模块。所以你不会“启动多个应用程序”,你真的只是一个启动,引用其他模块,然后使用控制器从这些模块控制在屏幕上的部分视图。

你会做的是当一个新的“小部件”安装,你注册它的模块文件(.js)与系统,将包含一个控制器WidgetCtrl,然后当你的页面加载,你将引用该小部件模块。从那里它应该可用于使用ng-controller和/或ng-include动态分配给元素。

我希望这是有道理的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读