D00*_*0de 6 html javascript angularjs ngroute
我有一个简单的angularjs应用程序,使用ngRoute模块在html5Mode中进行路由.如何在我的页面上有一些静态文件的链接,而不是通过angular routing mdule拦截它?
这是一个例子:
HTML:
<head>
<base href='/'></base>
</head>
<body ng-app="crudApp">
<a href="/">Home</a>
<a href="/user">User</a>
<a href="/users.html">users.html</a>
<div ng-view></div>
Run Code Online (Sandbox Code Playgroud)
JS路由:
$routeProvider
.when('/', {
templateUrl: 'app/components/home/homeView.html',
controller: 'HomeController'
})
.when('/user', {
templateUrl: 'app/components/user/userView.html',
controller: 'UserController'
})
.otherwise({
redirectTo: '/'
});
Run Code Online (Sandbox Code Playgroud)
当我点击用户链接时,我会被路由到localhost:8080/user,我的控制器和模板工作正常.当我点击users.html链接时,我会被路由到家,但我想调用一个静态的home.html页面.
nae*_*th7 17
从AngularJS文档中,您有3个选项:
Html链接重写
(......)
在如下情况下,链接不会被重写; 相反,浏览器将执行整页重新加载到原始链接.
- 包含目标元素的链接
示例:<a href="/ext/link?a=b" target="_self">link</a>- 转到其他域的绝对链接
示例:<a href="http://angularjs.org/">link</a>- 以'/'开头的链接导致不同的基本路径
示例:<a href="/not-my-base/link">link</a>
您可能正在寻找的是第一个例子:
<a href="/users.html" target="_self">users.html</a>
Run Code Online (Sandbox Code Playgroud)