避免使用ng-route路由无哈希的URL

时间:2013-12-06 13:04:47

标签: javascript angularjs angular-routing

说,我正在浏览localhost/index.html#/view1,我有一个指向localhost/index.html的链接。当我点击它时,角度处理它通过ng-route模块,它落入我的重定向子句。

这是路由配置的摘录:

$routeProvider
    .when( "/view1", route1 )
    .otherwise({redirectTo:'/view1'}); // localhost/index.html clicks fall here

我可以使用ng-click然后使用location.href javascriptly重定向,但这不是一个理想的解决方案,因为我会丢失href链接(SEO,书签,标签)。

TL;博士

如何判断angularJs ng-route不处理没有哈希的网址?

编辑:我不使用html5模式,也不打算使用它。

1 个答案:

答案 0 :(得分:3)

如果您询问角度路由服务忽略url链接。请参阅$location

的文档
  

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

包含目标元素的链接

Example: <a href="/ext/link?a=b" target="_self">link</a>

转到其他域的绝对链接

Example: <a href="http://angularjs.org/">link</a>

以'/'开头的链接,在定义base时会导致不同的基本路径

Example: <a href="/not-my-base/link">link</a>