javascript – Angular Route重定向到404

前端之家收集整理的这篇文章主要介绍了javascript – Angular Route重定向到404前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的问题:由于某种原因,在有效链接上,Angular无法找到我正在寻找的内容并返回404.这是路由配置:
$routeProvider.when('/',{templateUrl: 'partials/home.html'});
  $routeProvider.when('/home',{templateUrl: 'partials/home.html'});
  $routeProvider.when('/menus',{templateUrl: 'partials/menus.html'});
  $routeProvider.when('/menu/:menuId',{templateUrl: 'partials/menu.html',controller: 'ShowMenuCtrl'});
  $routeProvider.when('/products',{templateUrl: 'partials/products.html'});
  $routeProvider.when('/product/:productId',{templateUrl: 'partials/product.html',controller: 'ShowProductCtrl'});
  $routeProvider.when('/drink/:productId',controller: 'ShowProductCtrl'});
  $routeProvider.when('/drinks',{templateUrl: 'partials/drinks.html'});
  $routeProvider.when('/order',{templateUrl: 'partials/order.html'});
  $routeProvider.when('/404',{templateUrl: 'partials/404.html'});
  $routeProvider.otherwise({redirectTo: '/404'});

例如:指向/ menu / 45122245的链接(例如< a href =“#/ menu / {[{menu.id}]}”翻译> SEE< / a>)将在我工作时生效在/ menu / view上,但不在/ home /上(并返回404).

使用相同的URL,具有相同ID的相同对象,因此我不知道发生了什么.我不知道是否有任何其他代码可以帮助你,让我知道你需要什么:)

解决方法

可能是我来不及回复这篇文章,但是我相信下面的解决方案应该可以解决问题,
angular.module('moduleName')
..config(['$compileProvider','$routeProvider',function ($compileProvider,$routeProvider) {
 $routeProvider.when('/',{templateUrl: 'partials/404.html'});
  $routeProvider.otherwise({redirectTo: '/404'});
}])

.run(['$location',function ($location) {
    if ($location.path() === '' && $location.$$absUrl.indexOf('/partials') > -1) {
        $location.path('/home')
    }
}]);

猜你在找的JavaScript相关文章