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