我正在使用ui路由器,现在我想使用url中的params过滤数据(搜索url的一部分),而无需重新加载状态 - 我不需要每次都想询问服务器我想在集合中找到什么。
我的想法是监听事件$ routeChangeSuccess,获取所有搜索参数并对它们进行集合应用角度过滤。
我试图做这样的事情
<a ui-sref="invoices.issued({ invoice_type_id: invoiceType.id })" ui-sref-opts="{reload: false}">{{invoiceType.name}}</a>
将网址更改为?invoice_type_id = 2 ,但没有任何成功(状态正在重新加载)......
然后我编写了我自己的指令,它监听 $ locationChangeStart 并在状态提供程序中使用 reloadOnSearch:false ,但我觉得它是一个重写ui-router功能(加载时的反应)设置了一些参数的页面,突出显示活动链接等...)
所以我想问一下ui-router有可能吗?如果我做错了什么?或者有一种完全不同的方法来进行过滤?
谢谢Blazek
答案 0 :(得分:0)
防止重定向到您的州的另一个选项:
$transitions.onBefore({}, function($transition$) {
if ($transition$.$to().name === '[state name]') {
return false;
}
});