2015-04-17 37 views
0

我想將一個列表(investDtls)複製到屬於POST正文一部分的另一個列表(listInvestOptions)。

下面的代碼片段:

app.controller("OneClickController", function($scope,$location, $resource, $http){ 
      $scope.investDtls ={}; 


     $scope.submitOneClick = function(investDtls) { 
     //$scope.oneClick.submitOneClickDetails.listInvestOptions = angular.copy(investDtls); 
     $http({ 
      method : 'POST', 
      url : '/investor/api/v1/oneclick', 
      data : $scope.oneClick 
     }).success(function(response) { 
     $scope.oneClick.submitOneClickDetails.listInvestOptions = angular.copy(investDtls); 
     //alert("success"); 
     }); 
     } 
        }); 

這裏我有內部investDtls列表中的一些領域,我想內容複製到另一個列表(listInvestOptions),這是一個POST身體 的一部分而我訪問它像:

$ scope.oneClick.submitOneClickDetails.listInvestOptions

但是根據上面的代碼片段,在POST操作之後,列表將被複制。

我想執行復制操作只是調用POST塊

$scope.oneClick.submitOneClickDetails.listInvestOptions = angular.copy(investDtls); 

$http({ 
        method : 'POST', 
        url : '/investor/api/v1/oneclick', 
        data : $scope.oneClick 
       }) 

如果我如上繼續之前,它不會工作作爲$ scope.oneClick.submitOneClickDetails.listInvestOptions部分是不可訪問除非POST塊被執行。

希望我是清楚的從我身邊..任何更多的澄清最受歡迎.. :)

回答

0

看這個Plunker,讓我知道,如果以任何方式幫助。

JS

var app = angular.module("app", []); 

app.controller("OneClickController", function($scope, $location, $http){ 
    $scope.investDtls = {'test': 'blah'}; 
    $scope.oneClick = {submitOneClickDetails: {listInvestOptions: null}}; 

    $scope.submitOneClick = function(investDtls) { 
     $scope.oneClick.submitOneClickDetails.listInvestOptions = angular.copy(investDtls); 
     $http({ 
      method : 'GET', 
      url : 'data.json', 
      data : $scope.oneClick 
     }).success(function(response) { 
      console.log(response); 
      console.log($scope.oneClick); 
     }); 
    } 
}); 

標記

<body ng-controller="OneClickController"> 
    <button ng-click="submitOneClick(investDtls)">Submit</button> 
</body> 

請注意,我使用GET用於測試目的。

+0

嗨, 我初始化POST體名單如下: $ scope.oneClick.submitOneClickDetails = {}; 現在我可以複製列表。 但在行($ scope.oneClick.submitOneClickDetails.listInvestOptions = angular.copy(investDtls))之後我們複製列表 控制器沒有被調用,但只有success()方法在最後被執行。 – meekhukun