html – angularjs视图仅在硬刷新时加载而不在重定向上加载

我正在开发我的角应用程序,并设置了这样的路线

    angular.module('app',['ngRoute'])
        .config(function ($routeProvider,$locationProvider) {
            $routeProvider.when('/',{
                template : "",controller : function($window) {
                $window.location.href = '/';
                }
            }).when('/test',{
                    redirectTo : '/test/dashboard'
            }).when('/test/dashboard',{
                    templateUrl : '../partials/dashboard.html',controller : 'DashboardController'
            }).when('/test/unit',{
                    templateUrl : '../partials/unit.html',controller : 'unitController'
            });
            $locationProvider.html5Mode(true);
    });

HTML是

<body ng-app="app">
    ...
    <div id="sidebar-wrapper" class="fill-height sidebar-nav">
      <ul class="tabrow nav nav-stacked">

        <li ng-class="{active: isActive('dashboard') }"><a id="dashboardLink" ng-href="#test/dashboard">Dashboard</a>
        </li>

        <li ng-class="{active: isActive('unit') }"><a id="unitLink" ng-href="#test/unit">Unit</a>
        </li>
      </ul>
    </div>
    ...
</body>

问题:

当我输入“/ test”时,此代码会将URL重定向到“/ test / dashboard”,但该页面的html不会显示.但是,当我使用该路由刷新页面时,它会在页面内容区域中显示html.

当我在链接之间切换时,仪表板显示,只是在第一次导航时不加载.

此外,当我将重定向更改为/ test / unit时,它会正确重定向显示unit.html.

不确定是什么导致了这种行为.

任何帮助,将不胜感激.

解决方法

我认为你需要为$locationProvider配置html5Mode时指定requireBase:false
$locationProvider.html5Mode({
  enabled: true,requireBase: false
});

这是一个工作plnkr demo

有关与部署相关的更多上下文,您应该了解this表单角度文档

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些