我没什么问题。
我想用重定向创建ng-click,但在重定向之前我需要发布一些数据。
我的HTML代码:
<a href="/test" ng-click="updateData($event)">Go</a>
我的角度更新数据功能:
$scope.updateData = function($event){
$event.preventDefault();
$http.post(someAddress, $scope.data)
.success(function(){
// on success redirect
});
};
我找到了像scope.$eval(clickAction);
这样的东西,但我不知道应该如何使用它。
我不能只使用没有JS的重定向,因为我有两种不同的形式。
答案 0 :(得分:1)
您应该从JS功能重定向而不是依赖href
,在这种情况下不需要$event.preventDefault();
。
<强>标记强>
<a href="" ng-click="updateData()">Go</a>
<强>代码强>
$scope.updateData = function(){
$http.post(someAddress, $scope.data)
.success(function(){
// on success redirect
$location.path('/test'); //to redirect from here
});
};
答案 1 :(得分:1)
<a href="/test" ng-click="updateData($event, this.href)">Go</a>
$scope.updateData = function($event, loc){
$event.preventDefault();
$http.post(someAddress, $scope.data)
.success(function(){
// on success redirect
location.href = loc;
});
};
答案 2 :(得分:1)
对于完整重定向,请尝试以下操作:
location.assign("http://someuri.com");