我有这样的config()。
function config($httpProvider, $routeProvider) {
$httpProvider.interceptors.push('httpInterceptorService');
$routeProvider
.when('/detail/:id', {
controller: 'CourseDetailController',
controllerAs: 'vm',
templateUrl: 'templates/course-detail.html'
})
.otherwise({
redirectTo: '/'
});
}
查看
<a class="course--module course--link" href="/#/detail/{{ course._id }}">
点击课程时URL
编码如下,似乎没有路由。
http://localhost:5000/#!/#%2Fdetail%2F57029ed4795118be119cc43d
我试过
从/#
移除了href = "/#/detail/{{ course._id }}"
,但这次URL
变为http://localhost:5000/detail/57029ed4795118be119cc43d
,而没有选择角度路由器并提出服务器请求。
在地址栏URL
中手动访问了
http://localhost:5000/#!/detail/F57029ed4795118be119cc43d
没有编码字符,这个时间视图正确更改。
任何想法?。
答案 0 :(得分:1)
在配置中执行此操作,
function config($httpProvider, $routeProvider, $locationProvider) {
$locationProvider.hashPrefix('');
尝试使用ng-href
<a class="course--module course--link" ng-href="/#/detail/{{ course._id }}">
OR
只需在!
href
#
即可
<a class="course--module course--link" ng-href="/#!/detail/{{ course._id }}">
答案 1 :(得分:0)
您需要使用浏览器级API,使用对象窗口,或者您可以在控制器中注入$ window引用。
window.location.href="http://www.google.com";
$window.location.href="http://www.google.com";