我如何使用路线,但不能更改URL?

时间:2013-05-05 19:39:53

标签: javascript angularjs

我正在构建单页应用程序(SPA),其域名为http://teachme.com。这些路线可以看作是

teachApp.config(['$routeProvider', '$locationProvider', function($routeProvider,       $locationProvider) {
    $routeProvider.
        when('/teach/', {templateUrl: 'views/login_view.html'}).
        when('/teach/overview', {templateUrl: 'views/overview_view.html'}).
        when('/teach/users', {templateUrl: 'views/users_view.html'}).
        otherwise({redirectTo: '/teach/'});
    $locationProvider.html5Mode(true);
}]);

现在每次我点击选项卡,路线都会改变,我看到不同的视图,但网址更改为

http://teachme.com/#teach
http://teachme.com/#teach/overview
http://teachme.com/#teach/users

这使得保持网址唯一和用于书签目的的整点都失败了。有没有一种方法可以使路线正常工作,但网址仍然是http://teachme.com

由于

1 个答案:

答案 0 :(得分:2)

路线的重点是使用deep linking,每the docs

域名&您的网址的路径组件将始终保持不变,但之后的组件会发生更改,即使您正在创建单页应用,也可以使用书签。

简短版本为否,如果您不希望更改之后的网址部分,则路由将无效。对我而言,如果没有这样的添加,你的书签似乎就会失去价值。

即使在单页应用中,您也可以为示教概述部分添加书签等。也许您提供的书签链接总是标记域名本身就在用户的书签中。