【发布时间】:2015-07-30 15:16:08
【问题描述】:
我正在开发我的 Angular 应用程序并设置了这样的路线
angular.module('app', ['ngRoute']) .config(函数 ($routeProvider, $locationProvider) { $routeProvider.when('/', { 模板 : ””, 控制器:功能($窗口){ $window.location.href = '/'; } }).when('/test', { 重定向到:'/测试/仪表板' }).when('/test/dashboard', { templateUrl : '../partials/dashboard.html', 控制器:“仪表板控制器” }).when('/test/unit', { templateUrl : '../partials/unit.html', 控制器:'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。
不确定是什么导致了这种行为。
任何帮助将不胜感激。
【问题讨论】:
-
DashboardController是正确的名称吗?对于另一个控制器,您正在使用小写字母,例如第一个单词unitController。 js控制台有没有报错? -
我不认为这个问题与控制器的名称有关,我确定了这一点。没有js控制台错误。