我们说我配置了两条路由,另外还有一个单独的控制器选项。
$routeProvider.
when('/careers/all', {
title : 'All Careers',
templateUrl: '/_get/html/listing,careers_app?action=all',
controller: 'careersController',
animation: 'slide'
}).
when('/careers/view/:job*', {
title : '',
controller: 'careersController',
animation: 'slide'
}).otherwise({
template : ' ',
controller : 'redirectController'
});
// use the HTML5 History API
$locationProvider.html5Mode(true);
我只是想要处理其他所有内容,以便它作为一个标准锚点行为,我看到其他人已经添加了一个target="_self"
到锚点以使其工作,但这是完全不切实际的,因为我有数以百计的主持人和我不是唯一一个管理这个网站的人。我需要让这个控制器重定向,但显然不是只是连续循环,因为页面刷新,然后激活,然后页面再次刷新,所以我创建了一个递归刷新。
控制器:
_core.controller('redirectController', ['$location', '$window', '$rootScope', function($location, $window, $rootScope) {
var path = $location.path();
$window.location.href = path;
}]);
如何设置它,是否有一种方法可以在设置路径路径名之前进行检测?我知道有一个事件$routeChangeStart
但是在运行此回调之前已经设置了路径。
想法?
答案 0 :(得分:0)
答案 1 :(得分:0)
我通过完全删除其他选项来实现此目的。并将事件监听器添加到08-04 20:00:36.387 31451-2716/? E/AppInviteAgent﹕ Get suggested invitees failed due to error code: 13
08-04 20:00:54.636 31451-3312/? E/AppInviteAgent﹕ Create invitations failed due to error code: 13
服务。
$location
因为我只有两条路线,都包含职业/在网址中,我只是检查是否是职业页面,或者我们已经在页面上试图改变,所以不要t更新,否则触发刷新。