我有以下状态配置:
.state('test', {
url: '/info',
templateUrl: 'views/test.html',
// reloadOnSearch:false
})
我不想在状态配置中启用reloadOnSearch = false。因为这样,它不允许用户更改URL并查看新数据。所以我想将此参数与ui-sref-opts一起传递。
我在互联网上尝试了足够的搜索,但这似乎没有效果:
这是我的HTML:
<tab ui-sref="test" ui-sref-active="active" active="testingState">
.......
</tab>
我试图传递,&#34; reloadOnSearch:false&#34;使用ui-sref-opts,但似乎并没有起作用。
任何人都可以帮助我。
答案 0 :(得分:1)
我记得不久前必须这样做才能在搜索/过滤时随时保存浏览器历史记录。我发现我使用的帖子帮助我解决了问题,虽然它有点jankey(https://github.com/angular-ui/ui-router/issues/1079):
//set the reloadOnSearch on state to false initially in some code block
$state.current.reloadOnSearch = false;
// update query string here
$location.search({"from": 1, "to": 2});
//revert reloadOnSearch on the state!
$timeout(function () {
$state.current.reloadOnSearch = undefined;
});
我相信您应该能够将此代码放在导致页面刷新的任何内容中。