我在提交表单后更改页面的 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'];
有人可以帮帮我吗?