好的,所以我是Angular.js的新手,我正在努力创建一些基本的路由。我的路由有以下定义:
JBenchApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/dashboard', {
templateUrl: 'partials/dashboard.html',
controller: 'JBenchCtrl'
}).
when('/calendar', {
templateUrl: 'partials/calendar.html',
controller: 'JBenchCtrl'
}).
otherwise({
redirectTo: '/dashboard'
});
}]);
当我加载页面http://localhost:53465/default.html时,我得到的是
http://localhost:53465/default.html#/dashboard
如何将其显示为
http://localhost:53465/dashboard
答案 0 :(得分:4)
您定义的路由是在URL中的hashbang之后出现的文本 - hashbang,因为您似乎没有将HTML5模式设置为true。
因此,当您加载页面http://localhost:53465/default.html
时,AngularJS将尝试加载路由为http://localhost:53465/default.html/#!/
的路由/
- 在hashbang(#!)之后显示的文本。
看看你的路线。 /
没有路由处理程序。因此,执行otherwise()
函数,其仅重定向到路由/dashboard
。因此,最终网址为http://localhost:53465/default.html/#!/dashboard
如果您要将网址加载为http://localhost:53465/dashboard
,则只需提供上述网址即可。您不必指定default.html,因为路由处理程序负责加载相关的HTML文件(基于路由处理程序对象的templateUrl
属性)
答案 1 :(得分:0)
将default.html
重命名为index.html
,然后您就可以导航到http://localhost:53465/#/dashboard
。