AngularJS路由到静态文件

时间:2015-04-15 14:00:00

标签: javascript angularjs html5 ngroute

我有一个简单的angularjs应用程序,其中ngRoute模块用于在html5Mode中进行路由。 如何在页面上找到一些静态文件的链接,而不是通过angular routing mdule拦截它?

以下是例子:

HTML:                        

<a href="/">Home</a>
<a href="/user">User</a>
<a href="/users.html">users.html</a>

<div ng-view></div>

JS路由:

$routeProvider
            .when('/', {
                templateUrl: 'app/components/home/homeView.html',
                controller: 'HomeController'

            })
            .when('/user', {
                templateUrl: 'app/components/user/userView.html',
                controller: 'UserController'

            })
            .otherwise({
                redirectTo: '/'
            });

当我点击用户链接时,我会被路由到localhost:8080 / user,我的控制器和模板工作正常。当我点击 users.html 链接时,我会被路由到家,但我想调用一个静态的home.html页面。

1 个答案:

答案 0 :(得分:16)

AngularJS docs,您有3个选项:

  

Html链接重写

     

(...)

     

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

     
      
  • 包含目标元素的链接
      示例:<a href="/ext/link?a=b" target="_self">link</a>
  •   
  • 转到其他域的绝对链接
      示例:<a href="http://angularjs.org/">link</a>
  •   
  • 以&#39; /&#39;开头的链接导致不同的基本路径
      示例:<a href="/not-my-base/link">link</a>
  •   

您可能正在寻找的是第一个例子:

<a href="/users.html" target="_self">users.html</a>