如何将$ http响应值传递给另一个函数?

时间:2016-03-22 18:49:51

标签: javascript angularjs http asynchronous angular-promise

我有这两个功能。我需要将$ scope.submit的响应值传递给$ scope.addTeams。这是有效的,但我知道这是一个非常愚蠢的方法。什么是最好的方法?



	$scope.submit = function() {
	  $http.post('/api/createclub/', {
	    club: $scope.club
	  }).success(function(response) {
	    console.log(response);
	    $rootScope.clubId = response._id;
	  });
	};

	$scope.addTeams = function() {

	  console.log($rootScope.clubId);

	  $state.go('createTeam', {
	    clubId: $rootScope.clubId
	  });
	  $scope.cancel();
	};




2 个答案:

答案 0 :(得分:3)

有什么问题
$scope.submit = function() {
      $http.post('/api/createclub/', {
        club: $scope.club
      }).success(function(response) {
        console.log(response);
        $scope.addTeams(response._id);
      });
    };

    $scope.addTeams = function(id) {

      $state.go('createTeam', {
        clubId: id
      });
      $scope.cancel();
    };

答案 1 :(得分:0)

只需在$ http post响应处理程序中调用addTeams函数,传入当前在rootScope上设置的id值

你不应该真正做的是在rootScope上设置这样的属性