2016-05-17 51 views

回答

0

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

 
app.controller("MyCtrl" , function($scope){ 
 
    $scope.x = {a:"",b:""}; 
 
    
 
    
 
    $scope.copy = function(a,b){ 
 
     $scope.x.a = angular.copy(a); 
 
    $scope.x.b = angular.copy(b); 
 
    } 
 
    
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="MyCtrl"> 
 
<form > 
 
    <input type="text" ng-model="a"> 
 
    <input type="text" ng-model="b"> 
 
    
 
    <input type="button" ng-click="copy(a,b)" value="copy"> 
 
</form> 
 
    
 
    
 
    <pre>{{ x | json}}</pre> 
 
</div>

你應該改變上你的$scope.x對象的$scope.a值。喜歡這個。

$scope.x = { 
      a:"", 
      b:"" 
      } 

然後用角副本

$scope.x.a = angular.copy($scope.a); 
$scope.x.b = angular.copy($scope.b); 
+0

對不起人Tryed它。但它沒有奏效。仍然數據不會傳遞給'$ scope.x'我認爲它是因爲'$ scope.b'有3個屬性。雖然我不確定。謝謝回覆。 –

+0

你的問題含糊不清。我認爲你想將$ scope.a和b傳遞給其他變量,比如x。 –

+0

是的,這是正確的。我想這樣做。但是,當我嘗試它時,上面的代碼不起作用。對不起 –

0

最後我得到了它。我用angular.merge這樣,

$scope.a = angular.merge($scope.b);

這個作品

+0

這將'b'分配給'a'。 – zeroflagL

+0

它爲我工作。我將'$ scope.a'和'$ scope.b'中的所有值都設置爲'$ scope.a',可能是 –

+0

,但這不是代碼的作用。 – zeroflagL