【发布时间】:2012-07-31 20:22:33
【问题描述】:
我在提交表单后更改页面的 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'];
有人可以帮帮我吗?
【问题讨论】:
-
请记住,这是在那一年之前创建的。
-
对,另外一年的好处是,另一个人有一个更准确的正确答案。
-
@JimG。这不是重复的,这个问题是 4 年前的,你链接的问题是 2 年前的。
标签: angularjs