快速摘要: 我需要允许两个脚本文件来处理同一个角度应用程序的不同操作。一个需要初始化应用程序,另一个需要将templateCache对象分配给localStorage中的一个JSON。
上下文 我有几个编译/生成html的python文件,我已经使用这个为我的网站发出的html构建了一个角度应用程序(使用CGI)。
该网站的基本构造包含HTML片段,它们如下所示:
|------------Header---------------|
|-Navigation-|------Content-------|
|-Navigation-|------Content-------|
|-Navigation-|------Content-------|
|------------Footer---------------|
我的标题会创建<head>
标记,实例化我的ng-app
并使用$templateCache
设置我从导航代码调用的模板。由于CGI如何发出html的一些限制以及发生这种情况的顺序,我不得不使用templateCache而不是ngView
和ngRoute
。
我的“导航”python / html用JS设置了我的应用程序:
<script>
var responsiveCatalog = angular.module('responsiveCatalog', ['ngStorage']);
....controllers...
....config, etc....
</script>
此导航还包括我的默认templateCache对象:
<div ng-include=" 'responsiveItems.html' "></div>
这一切都是为了在Content部分显示我的第一个templateCache对象。但是,我需要从python生成器中获取“Content”部分的许多信息(与“Navigation”完全独立的文件),将此数据作为JSON存储在localstorage中(因此包含ngStorage
模块),并将其称为我的第二个templateCache选项。
我不确定我是否可以使用两个单独的Javascript实例来引用和影响同一个Angular应用程序。我知道这似乎是不好的做法,但我正在努力防止拆除大量遗留架构以从两个Javascript文件中协调地影响角度应用程序。
提前致谢。
答案 0 :(得分:0)
你可以做到
angular.module('myAppName').controllers....
在不同的文件中,只需确保myAppName
相同即可。错误我不觉得它与config
一起使用,没有时间进行测试。如果您需要进行任何通信,请检查$emit
和$broadcast
。