ฉันมีปัญหาในการเปลี่ยน URL ของหน้าหลังจากส่งแบบฟอร์มแล้ว
นี่คือขั้นตอนของแอปของฉัน:
- กำหนดเส้นทางแล้ว URL จะถูกจดจำในหน้าฟอร์มบางหน้า
- การโหลดหน้าตัวควบคุมชุดตัวแปรคำสั่งจะเริ่มทำงาน
- คำสั่งรูปแบบพิเศษจะเริ่มทำงานซึ่งดำเนินการส่งแบบฟอร์มพิเศษโดยใช้ AJAX
- หลังจากดำเนินการ AJAX แล้ว (Angular ไม่ดูแล AJAX) การเรียกกลับจะเริ่มทำงานและคำสั่งจะเรียกใช้
$scope.onAfterSubmit
ฟังก์ชันที่กำหนดตำแหน่ง
ปัญหาคือหลังจากตั้งค่าสถานที่แล้วไม่มีอะไรเกิดขึ้น ฉันได้ลองตั้งค่าพารามิเตอร์ตำแหน่ง/
เป็นเช่นกัน ... ฉันพยายามไม่ส่งแบบฟอร์ม ไม่มีอะไรทำงาน
ฉันได้ทดสอบเพื่อดูว่าโค้ดไปถึงonAfterSubmit
ฟังก์ชัน (ซึ่งทำ)
ความคิดเดียวของฉันคือขอบเขตของฟังก์ชั่นเปลี่ยนไปอย่างใด (เนื่องจากถูกเรียกจากคำสั่ง) แต่จะเรียกอีกครั้งได้อย่างไรว่าonAfterSubmit
ขอบเขตเปลี่ยนไป?
นี่คือรหัสของฉัน
var Ctrl = function($scope, $location, $http) {
$http.get('/resources/' + $params.id + '/edit.json').success(function(data) {
$scope.resource = data;
});
$scope.onAfterSubmit = function() {
$location.path('/').replace();
};
}
Ctrl.$inject = ['$scope','$location','$http'];
ใครช่วยฉันหน่อยได้ไหม