2015-04-19 29 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");