13
วิธีโหลดซ้ำหรือแสดงผลทั้งหน้าใหม่โดยใช้ AngularJS
หลังจากเรนเดอร์ทั้งหน้าตามบริบทของผู้ใช้หลายคนและมี$httpการร้องขอหลายครั้งฉันต้องการให้ผู้ใช้สามารถสลับบริบทและแสดงทุกอย่างอีกครั้งอีกครั้ง (ส่ง$httpคำขอทั้งหมดฯลฯ ) หากฉันเพิ่งเปลี่ยนเส้นทางผู้ใช้ไปที่อื่นสิ่งต่าง ๆ ทำงานได้อย่างถูกต้อง: $scope.on_impersonate_success = function(response) { //$window.location.reload(); // This cancels any current request $location.path('/'); // This works as expected, if path != current_path }; $scope.impersonate = function(username) { return auth.impersonate(username) .then($scope.on_impersonate_success, $scope.on_auth_failed); }; หากฉันใช้$window.location.reload()ดังนั้นบาง$httpคำขอauth.impersonate(username)ที่กำลังรอการตอบกลับจะถูกยกเลิกดังนั้นฉันจึงไม่สามารถใช้งานได้ นอกจากนี้แฮ็ค$location.path($location.path())ก็ไม่ทำงานเช่นกัน (ไม่มีอะไรเกิดขึ้น) มีวิธีการแสดงหน้าอีกครั้งโดยไม่ต้องออกคำขอทั้งหมดอีกครั้งด้วยตนเองหรือไม่