8
我使用的UI路由器的新deferIntercept()无需重新加载 我的控制器更新浏览器网址:UI路由器deferIntercept和国家PARAMS
$rootScope.$on('$locationChangeSuccess', function(e, newUrl, oldUrl) {
e.preventDefault();
if ($state.current.name !== 'search') {
$urlRouter.sync();
}
$urlRouter.listen();
});
有了这个代码,在浏览器上的后退按钮点击将URL更改为上一个,但我无法更新我的控制器状态以反映此更改。 $ stateParams仍然包含用户第一次加载页面时设置的值。
当用户点击后退按钮或手动更改URL时,更新控制器中$ state和$ stateParams对象的最佳方式是什么?
谢谢!
的'$ state'参数撑不更新。但是 – Shamoon 2014-09-18 18:04:19
我发现当我运行'如果(UserService.isLoggedIn())回报;'它不实际上,除非我专门调用同步,否则不会同步路由 – Maruf 2015-05-29 10:39:58