ng-click - 点击后执行功能和重定向

时间:2015-04-19 11:49:25

标签: javascript angularjs redirect

我没什么问题。

我想用重定向创建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的重定向,因为我有两种不同的形式。

3 个答案:

答案 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");