2016-05-17 4 views
0

2つの異なるスコープオブジェクトの値を1つにマージしようとしています。2つの異なるスコープオブジェクトの値をanglejs内の単一のスコープオブジェクトに追加する方法

$scope.a={ 
name: A; 
} 
$scope=b{ 
age:12; 

} 

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

または

$scope.x=angular.extend($scope.a,$scope.b); 

または

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

これは動作しません。私は何を取得することで、yuor $scope.xオブジェクトを変更する必要があり$scope.x

答えて

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.aの値のみです。これに似ています。

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

その後、

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

申し訳ありませんが男はそれをしようと試みた作品、このよう

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

angular.mergeを使用しました。しかし、それは動作しませんでした。それでも '$ scope.b'には3つの属性があるので、データは' $ scope.x'に渡されません。私はそれについて確信していません。返信いただきありがとうございます。 –

+0

あなたの質問は曖昧でした。私はあなたが$ scope.aとbをxのような他の変数に渡したいと思っています。 –

+0

はいそうです。私はそれをしたいと思った。しかし、私はそれを試しても上記のコードは動作しません。申し訳ありません –

0

最後に、私はそれを得た角度のコピーを使用しています。私は、これは

+0

これは、 'a'に' b'を割り当てます。 – zeroflagL

+0

それは私のために働いた。 '$ scope.a'と' $ scope.b'のすべての値が '$ scope.a' –

+0

になっているかもしれませんが、これはこのコードが行うものではありません。 – zeroflagL

関連する問題