2016-08-03 3 views
0

を作成し、データ受け渡しのためのプラグインを落とし、今AngularJS - 1つのドラッグを使用して多次元配列

10 
divPictureBox00 
User1 
live 

出力
var streamArr = []; 
$scope.onDrop = function (data, dragElement, dropElement, event) { 
    streamArr.push({'userId':userId,'divid':divId,'userName':userName,'streamingState':$rootScope.route}); 
}); 

Ctrlキー

以下

ようondropイベントデータのフェッチ、ユーザーが何かをドロップすると、データを1つの配列にプッシュする必要があります結果は次のようになります

streamArr: [ 
{userId: 10, divId: 'divPictureBox00', userName: 'User1', streamingState:'live'}, 
{userId: 11, divId: 'divPictureBox01', userName: 'User2', streamingState:'live'}, 
{userId: 12, divId: 'divPictureBox02', userName: 'User3', streamingState:'recorded'}, 
{userId: 10, divId: 'divPictureBox00', userName: 'User1', streamingState:'live'}, 
] 

しかし、データはその配列にプッシュされていません。それについてどうすればいいですか?

答えて

0

これは、同じオブジェクトを使用しているためです。関数を呼び出すたびに新しいオブジェクトを作成して、配列内のオブジェクトをプッシュしてみてください。

var streamArr = []; 
$scope.onDrop = function (data, dragElement, dropElement, event) { 
var obj = new Object(); 
obj.userId = userId; 
obj.divId = divId; 
obj.userName = userName; 
obj.streamingState = $rootScope.route; 

streamArr.push(obj); 

});

+0

ザは '[オブジェクトのような複数のオブジェクトを作成{にuserId = 1480、divIdは= "divPictureBox00" は、ユーザ名= "ユーザー1"}、 オブジェクト{にuserId = 1480、divIdは= "divPictureBox00" は、ユーザ名= "ユーザー1"}、 オブジェクト{userId = 1480、divId = "divPictureBox01"、userName = "User2"}] '。どのようにして単一オブジェクトにするのですか? – Slimshadddyyy

+0

複数のオブジェクトの配列が必要でしたか? –