tôi sử dụng deferIntercept mới() của ui-router để cập nhật các url trình duyệt mà không cần tải lại điều khiển của tôi:ui-router deferIntercept và tiểu bang params
$rootScope.$on('$locationChangeSuccess', function(e, newUrl, oldUrl) {
e.preventDefault();
if ($state.current.name !== 'search') {
$urlRouter.sync();
}
$urlRouter.listen();
});
Với mã này, một nhấp chuột vào nút quay lại của trình duyệt thay đổi URL thành URL trước đó, nhưng tôi không thể cập nhật trạng thái bộ điều khiển của mình để phản ánh thay đổi này. $ stateParams vẫn chứa các giá trị được đặt khi người dùng tải trang lần đầu tiên.
Cách tốt nhất để cập nhật các đối tượng $ state và $ stateParams trong bộ điều khiển của tôi khi người dùng nhấp vào nút quay lại hoặc thay đổi URL theo cách thủ công là gì?
cảm ơn!
Lệnh 'tham số $ state' vẫn được không cập nhật tuy nhiên – Shamoon
Tôi thấy khi tôi chạy' nếu (UserService.isLoggedIn()) return; 'nó doesn 't thực sự đồng bộ hóa tuyến đường trừ khi tôi đặc biệt gọi đồng bộ hóa – Maruf