我们正在设计一个在多个浏览器窗口中运行的复杂Web应用程序。将使用AngularJS
(注意它必须看起来像一个应用程序 - 只是它分布在几个浏览器窗口中)
只要父级保留对其他窗口的引用,Javascript就允许父窗口引用其他窗口上的对象。这些对象可以通过本机访问器访问,也可以通过jQuery访问。
多窗口应用程序之前是否已经使用Angular完成了什么?这样的应用程序如何构建为可扩展的?
(我见过大'angular-app' reference app这是大型应用程序的模板(如果我只能让它工作!)但是在使用多个浏览器窗口时没有找到任何东西......
答案 0 :(得分:6)
可能不是你正在寻找的答案,但根据我的经验w / AngularJS,你似乎正在寻找角度的反模式。具体来说,角度范围很大 - 所以控制器和视图只能“知道”它自己的东西。同一页面上的任何其他控制器/视图或其他窗口等不一定具有彼此的引用。相反,页面上的应用程序将具有$ rootScope,它可以作为消息总线w / $ emit(),在$()上。
因此,或许可以将其视为松散耦合的部分,其中集中的消息总线可以确定哪些窗口可以获取哪些事件。然后每个部分(app / controller / view)只响应那些事件。
注意:我们有一个测试应用程序,通过在iFrames中托管每个角度应用程序并在移动应用程序中模拟多个UIWebViews并成功使用此方法。非常可组合,非常可测试。 HTH