在ui-sref 的 元素上增加如下点击事件:
$scope.urlClick = function (event,navInfo) { var navUrl = window.location.href.split('#')||''; var hrefUrl = '1'; if(event.target){ hrefUrl = decodeURIComponent(event.target.getAttribute('href').replace('#','')) } if(navUrl && navUrl[1]){ navUrl = decodeURIComponent(navUrl[1]); } console.log(hrefUrl); console.log(navUrl); if(hrefUrl.indexOf(navUrl) !== -1){ $state.reload(); } }
1、获取当前url ,找个找,动态参数的url,无法直接用$state获取,就直接用的原生并截取。
2、因为动态url带参数的是encode 的,所以需要decode一下
3、需要判断路径是包含,不能判断等于,否则可能会出现问题