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