我有一个简单的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页面。
答案 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>