【问题标题】:get angular ui router $location.search() to use Basic URL Parameters获取 Angular ui 路由器 $location.search() 以使用基本 URL 参数
【发布时间】:2015-06-02 23:42:48
【问题描述】:

我的ui-router设置如下

.state('root.event', {
    url : '/event/:id',
    templateUrl : 'templates/event.html'
})

(控制器在模板中初始化)

看起来很漂亮Basic URL Parameters 喜欢:
www.mysite.com/event/1234

当用户直接导航到我的www.mysite.com/event 路径(即缺少参数)时,模板控制器会从以下任一位置查找最新的id 参数:
- 存储在值中的 js 变量
- 本地存储/cookie 等

然后我使用 $location.search('id', 1234) 将其返回到我的状态

...但是,这会导致具有 Query URL Parameters 的 URL 像:
www.mysite.com/event/?id=1234

有没有一种技术可以确保$stateparams 更新在更新时以基本格式显示 url?

...或者是否可以在状态更改之前获取 URL 参数并更新$state?
(我查看了Resolve,但这似乎主要是关于将参数传递给控制器​​)​​

我看过 here、here 和 here - 但大多数问题都与如何避免在更新 $state 参数时重新加载有关

【问题讨论】:

    标签: javascript angularjs angular-ui-router angularjs-routing


    【解决方案1】:

    $location.search 正是这样做的。它添加了查询 URL 参数。我想你正在寻找的是

    $state.go('root.event', {id: 1234})
    

    【讨论】:

    • 不会重新加载模板而不仅仅是更新参数吗?
    猜你喜欢
    • 2016-07-17
    • 2017-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多