ui-router查询字符串的问题

时间:2015-02-11 08:07:54

标签: angularjs angular-ui-router

我有这些状态:

.state('message', {
  url : '/message'
  templateUrl : 'views/message.html',
  controller : 'messageController'
})
.state('news', {
  url : '/news'
  templateUrl: 'views/news.html',
  controller : 'newsController'
})

messageController中,我在网址中添加了一些查询字符串,例如/message?contact=some

问题是,当使用ui-sref转到新闻状态时,查询字符串不会被清除,而是会重定向到/news?contact=some

我尝试在$location.search中清除stateChangeEvent

任何帮助?

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作之一:

使用查询参数:

 .state('message', {
     url: "/message?contact"
     // will match to url of "/message?contact=value"
     ...
 }

使用状态参数:(更适合ui-sref链接)

.state('message', {
    url: "/message/:contact",
    // can be accessed by $stateParams service - $stataParams['contact']
    ...
 }