我目前的状态如下:
.state('test-event-list', {
parent: 'private',
url: '/test-events?search&sortc&sortd&pagesize&page&select&status',
reloadOnSearch: false,
views: {
'view@body': {
templateUrl: 'app/config-test/test-event/list.html',
controller: require('./config-test/test-event/list')
}
},
data: {
auth: true
}
})
我使用$ location.search()在查询字符串中设置不同的参数,例如排序,列表大小和列表页面。
例如,URL可能如下所示:
/test-events?pagesize=25&page=1
我有一个菜单,其中包含以下链接以选择测试事件列表:
<a ui-sref="test-event-list" ui-sref-opts="{reload: true, inherit: false}">Tests</a>
在状态“test-event-list”中,单击此链接,可以部分完成我想要的操作:重置列表的参数并重新加载页面。但它没有做的是从查询字符串中删除params。
如何从网址中删除“?pagesize = 25&amp; page = 1”?
ui-router提供的继承标志似乎没有做太多。我使用的是最新版本的ui-router(0.2.15)。
答案 0 :(得分:7)
你可以尝试去:
<a ui-sref="test-event-list({})" ui-sref-opts="{reload: true, inherit: false}">Tests</a>
因为查询字符串参数不是必需的
答案 1 :(得分:3)
我遇到了同样的问题,我只是想从URL的末尾删除查询。我能够通过为每个参数传递一个空字符串来删除查询。对你来说它看起来像这样。
<a ui-sref="test-event-list({ pagesize: '', page: '' })">Tests</a>
对我来说有点不同。我不需要传递当前路线名称。
<a ui-sref="{ date: '' }">all logs</a>