【问题标题】:How to set default URL/route?如何设置默认 URL/路由?
【发布时间】:2015-03-02 10:46:06
【问题描述】:

我正在实现 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'
                }
            }
        });
}])

【问题讨论】:

  • 试试这个:.otherwise({redirectTo: "/dashboard/tree"})

标签: angularjs angular-ui


【解决方案1】:

信不信由你,这可能是 Angular 1.1.5 中的一个错误/功能(重新加载将内容添加到 url)。

试着在你的脑海中设置这个:

<base href="/"></base>

【讨论】:

  • 拥有base 标记可防止URL 附加到自身。但是,当我的基础是 /admin 时,我仍然必须在 AngularUI 的路由中包含 /admin
  • 是的,这是有道理的。整个 appBase 基础正在运行。见github.com/angular/angular.js/pull/2969。我正在努力跟上并了解这将如何发展。
猜你喜欢
  • 2018-01-14
  • 1970-01-01
  • 1970-01-01
  • 2016-10-02
  • 2017-01-06
  • 2021-11-21
  • 2021-01-19
  • 2023-03-30
  • 2018-06-08
相关资源
最近更新 更多