2015-04-19 31 views
0

我没有什么问题。ng-click - 点击完成后重定向

我想用重定向创建ng-click,但在重定向之前我需要发布一些数据。

我的html代码:

<a href="/test" ng-click="updateData($event)">Go</a> 

我的角度了updateData功能:

$scope.updateData = function($event){ 

    $event.preventDefault(); 

    $http.post(someAddress, $scope.data) 
     .success(function(){ 
      // on success redirect 
     }); 
    }; 

,我发现这样的scope.$eval(clickAction);出头,但我不;知道我应该怎么使用它。

我不能只使用没有JS的重定向,因为我有2种不同的形式。

回答

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; 
     }); 
    }; 
+0

谢谢你们。它解决了我的问题。 – Micchaleq

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 
    }); 
}; 
+0

ñ ative JS总是比任何框架辅助函数都快。 – vinayakj

+0

我不这么认为..比做它更难。我会按照更多的角度编码.. –

1

对于全重定向,请尝试以下操作:

location.assign("http://someuri.com");