AngularJS:处理子文件夹中的根和子应用程序

时间:2013-07-30 14:21:46

标签: angularjs pushstate angularjs-routing

我有两个AngularJS应用程序:

  1. 是基本应用程序,以root /
  2. 运行
  3. 是一个子应用程序,由于设计原因需要隔离并在子文件夹中运行,比如/foo/
  4. 如何将请求从根应用程序路由到子应用程序?

    我遇到的最大问题是URL路由选择此子应用程序路由,并且由于此路由未在根应用程序中定义,因此由otherwise处理我无法将用户发送到子申请。

2 个答案:

答案 0 :(得分:1)

因此经过一些调试后解决方案并不太痛苦:

  1. 确保通常重写索引文件的所有非资产URL的重写规则也会停止重写对子应用程序的任何请求。
  2. 确保所有资产请求(例如链接到索引文件中的CSS和JS)都以子应用程序目录名为前缀。
  3. 确保子应用程序中的所有路由都以子应用程序目录名称为前缀。
  4. 然后它有效!

答案 1 :(得分:0)

如果您希望整页重新加载,Html链接重写可能会对您有所帮助。请参阅位置服务文档here。来自文档

  

如下所示,链接不会被重写;相反,   浏览器将执行整页重新加载到原始链接。

Links that contain target element
Example: <a href="/ext/link?a=b" target="_self">link</a>
Absolute links that go to a different domain
Example: <a href="http://angularjs.org/">link</a>
Links starting with '/' that lead to a different base path when base is defined
Example: <a href="/not-my-base/link">link</a>