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', {templateUrl: 'partials/product.html', 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}]}" translate >SEE</a> )将在我上/菜单/视图,但不在/ home /(并返回404)。

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


可能是我迟到回复这篇文章,但我相信下面的解决方案应该做的伎俩,

angular.module('moduleName')
..config(['$compileProvider', '$routeProvider', function ($compileProvider, $routeProvider) {
 $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', {templateUrl: 'partials/product.html', 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'});
}])

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

除非传递给$ locationProvider.html5Mode()的html5Mode定义对象中的html5Mode.requireBase设置为false,否则Angular要求您在主html文件的头部指定url base。 因此,即使文档的初始URL不同,相对URL也会始终解析为此基本网址。

链接地址: http://www.djcxy.com/p/20635.html

上一篇: Angular Route redirects to 404

下一篇: Optimized 2x2 matrix multiplication: Slow assembly versus fast SIMD