使用带查询字符串的状态

时间:2016-07-12 15:13:42

标签: angularjs angular-ui-router

我的状态如下:

.state('app.jobsList', {
  url : '/jobs-list?typeContrat&ville&competence',
  controller : 'OffresController',
  templateUrl : 'views/tmpl/jobs.html'
})

调用此状态我可以使用以下链接:

app/jobs-list?typeContrat=
app/jobs-list?ville=
app/jobs-list

在我的导航栏中,我有一个属性可以调用app/jobs-list,如下所示:

<a ui-sref="app.jobsList">Offres</a>

当我点击链接时,它会工作,并将我重定向到该状态。

在我的页脚中,我有其他属性调用这些链接:

app/jobs-list?typeContrat=
app/jobs-list?ville=

当我点击它们时,它们会工作,并使用查询字符串将我重定向到app.jobsList状态。

问题是当我调用其中一个网址时,然后点击该属性,该属性必须将我重定向到app/jobs-list它不起作用并保留在app/jobs-list?typeContrat=或{ {1}}。

我该如何解决这个问题?

编辑:

这是我在页脚中重定向的方式:

app/jobs-list?ville=

这是搜索功能:

<a href="" ng-click="search(null,ville.nomVille,null)">{{ville.nomVille}}</a></li>

1 个答案:

答案 0 :(得分:2)

您尝试使用新的参数重新加载相同的状态。强制使用状态重新加载

<a ui-sref="app.jobsList({param1: 1, param2: 2})" data-ui-sref-opts="{reload: true}">Some text</a>

$state

$state.go('app.jobsList',{typeContrat:typeContrat,ville:ville,competence:competence}, {reload: true});