好的,我是一个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
您所定义的路由是出现在URL - hashbang之后的文本- hashbang,因为您似乎没有将HTML5模式设置为true。
因此,当你加载页面http://localhost:53465/default.html
时,AngularJS将尝试加载路由http://localhost:53465/default.html/#!/
,其中路由是/
-出现在hashbang(#!)之后的文本。
看看你的路线。/
没有路由处理程序。因此,执行otherwise()
函数,它只是重定向到路由/dashboard
。因此,最终URL是http://localhost:53465/default.html/#!/dashboard
如果您想将URL加载为http://localhost:53465/dashboard
,那么只需按原样提供上述URL。你不需要指定default.html,因为路由处理程序会负责加载相关的HTML文件(基于路由处理程序对象的templateUrl
属性)
将default.html
重命名为index.html
,然后您将能够导航到http://localhost:53465/#/dashboard
。