【问题标题】:Angular JS deep linking $routeProvider reload not workingAngular JS深度链接$ routeProvider重新加载不起作用
【发布时间】:2013-07-03 08:45:06
【问题描述】:

我有以下路线配置:

app.config( function ($routeProvider, $locationProvider, $httpProvider) {

// Routes
$routeProvider.when('/admin', {
    templateUrl : '/app/partials/dashboard.html',
    controller  : 'DashboardCtrl'
});
$routeProvider.when('/admin/settings', {
    templateUrl : '/app/partials/settings.html',
    controller  : 'SettingsCtrl'
});
$routeProvider.when('/404', {
    templateUrl : '/app/partials/404.html',
});
$routeProvider.otherwise({redirectTo: '/404'});

$locationProvider.html5Mode(true);
});

一切正常,除了当我在/admin/settings 并重新加载页面时,它会重定向到404。我尝试删除 html5Mode,它可以工作。但是,我真的很想使用 html5Mode。我错过了什么?请帮帮我。

哦,顺便说一句,我使用的是 AngularJS 1.1.5。

【问题讨论】:

标签: angularjs route-provider


【解决方案1】:

我遇到了一个非常相似的错误,并通过将<base href='my_app_base_url'></base> 插入到我的index.html 页面的头部来解决它。这个想法来自这个 GitHub 问题 (https://github.com/angular/angular.js/issues/2774) 和另一个 (https://github.com/angular/angular.js/issues/2868),以及我在评论中提到的那个。

【讨论】:

    【解决方案2】:

    试试 $location.path('/404').replace();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-28
      • 1970-01-01
      • 2020-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-05
      相关资源
      最近更新 更多