2013-06-19 114 views
8

我正在实现AngularUI的路由,并且似乎缺少有关如何配置默认URL的信息。看起来下面的代码会默认用户为/dashboard/tree,但是如果我刷新页面,则url附加了另一个/dashboard,所以我最终以/dashboard/dashboard/dashboard/dashboard/tree结束。如何设置默认的网址/路线?

如何在用户第一次访问该页面时正确设置默认URL而不会有此附加问题?

config(['$urlRouterProvider', '$stateProvider', function($urlRouterProvider, $stateProvider) { 
    $urlRouterProvider.otherwise('/dashboard/tree'); 

    /* URL mappings */ 
    $stateProvider. 
     state('dashboard', { 
      url: '/dashboard', 
      views: { 
       'page': { 
        templateUrl: '/partials/admin/dashboard.htm' 
       } 
      } 
     }). 
     state('dashboard.tree', { 
      url: '/tree', 
      views: { 
       'content': { 
        templateUrl: '/partials/admin/tree-overview.htm' 
       } 
      } 
     }); 
}]) 
+1

试试这个: '。否则({redirectTo: “/仪表板/树”})' – YAAK

回答

5

不管你信不信,这可能是一个角度为1.1.5的错误/功能(重新加载东西到网址)。

试着在你的头上设置这样的:

<base href="/"></base> 
+1

具有'base'标签保持URL从附加到本身。但是,当我的基地是'/ admin'时,我仍然需要在/路由中包含/ admin用于AngularUI – Webnet

+0

是的,这是有道理的。整个appBase基础的东西在运动中。请参阅https://github.com/angular/angular.js/pull/2969。我正在努力保持并发,并告知如何将这将泛滥。 – laurelnaiad