Ui路由器切换回本地状态(网址:"")不会更改网址

时间:2014-12-24 12:47:19

标签: angularjs angular-ui-router

问题是,如果我从任何其他状态更改回index url: ""视图,则页面内容会更改,但不会更改网址。

$stateProvider
    .state('index', {
        url: "",
        views: {
            ...
        }
    })
    .state('route1', {
        url: "/route1",
        views: {
            ...
        }
    })

想象一下*.com/route1并点击导航栏徽标返回index。该网址仍会显示.com/route1,但我希望该网址为.com

我想创建一个plunker,但没有必要,因为其中一个最流行的模板已经存在同样的问题:Plunker

要查看问题,您必须从右上角进入预览模式(蓝色按钮)。然后转到Route 1并返回Home。看看网址。


我很确定在某个地方已经问过这个问题,但遗憾的是我无法找到正确的搜索词来找到答案。


这是ui-router的问题吗?这个问题有任何已知的修复方法吗?

2 个答案:

答案 0 :(得分:0)

您必须将网址定义为“/”而不是“”。更新了plunker here

$stateProvider
.state('index', {
    url: "/",
    views: {
        ...
    }
})
.state('route1', {
    url: "/route1",
    views: {
        ...
    }
})

答案 1 :(得分:0)

想想我会通过制作一些“根”状态网址来解决这个问题,如本答案所述:Angular UI Router - Dynamic states get double slashes when navigated to with ui-sref

Ui-router绝对状态:Absolute Routes (^)