从URL AngularJS中删除模板名称

时间:2015-08-11 05:23:01

标签: javascript angularjs

我正在使用angularJS $ routeProvider,

//模板

//路由

function ($routeProvider) {
       $routeProvider.
          when('/_profileView', {
              templateUrl: '_profileView.htm',
              controller: '_profileViewController'
          }).
          when('/', {
              templateUrl: '_homeView.htm',
              controller: '_homeViewController'
          }).
          when('/_homeView', {
              templateUrl: '_homeView.htm',
              controller: '_homeViewController'
          })} 

有没有办法从Url中删除模板名称,如下所示:    Example.com/#/_homeView ----> Example.com /

1 个答案:

答案 0 :(得分:0)

如果您使用ui.router代替ng-route,它可以解决您的问题。 例如:

angular.module('app',[ 'ui.router' ])
.config(function($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise("/");
    $stateProvider.state('home', {
        url : "/",
        templateUrl : "_homeView.htm",
        controller: "_homeViewController"
    }).state('profile', {
        url : "/_profileView",
        templateUrl: "_profileView.htm",
        controller: "_profileViewController"
    })
 });

url属性中,如果仅提供"/",结果就是您所需要的。

使用ui.router代替ng-route的另一个注意 - 我经历过,如果你想使用嵌套的ng-view - s它可能仅限ui.router

我希望这会有所帮助,欢呼!