Tôi gặp sự cố với việc thay đổi URL của trang sau khi biểu mẫu đã được gửi.
Đây là dòng ứng dụng của tôi:
- Các tuyến được đặt, URL được nhận dạng đến một số trang mẫu.
- Tải trang, bộ điều khiển đặt biến, chỉ thị được kích hoạt.
- Một lệnh biểu mẫu đặc biệt được thực hiện để thực hiện đệ trình biểu mẫu đặc biệt bằng AJAX.
- Sau khi AJAX được thực hiện (Angular không chăm sóc AJAX), thì một cuộc gọi lại được thực hiện và lệnh gọi
$scope.onAfterSubmit
chức năng đặt vị trí.
Vấn đề là sau khi thiết lập vị trí, không có gì xảy ra. Tôi cũng đã thử thiết lập vị trí param thành /
... Không. Tôi cũng đã cố gắng không gửi biểu mẫu. Không có gì hoạt động.
Tôi đã thử nghiệm để xem mã có đạt được onAfterSubmit
chức năng không (mã này).
Suy nghĩ duy nhất của tôi là bằng cách nào đó phạm vi của hàm bị thay đổi (vì nó được gọi từ một lệnh), nhưng một lần nữa làm thế nào nó có thể gọi onAfterSubmit
nếu phạm vi thay đổi?
Đây là mã của tôi
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'];
Ai có thể giúp tôi ra ngoài không?