2016-08-26 14 views
0

私はこのコードを持っている:anglejs変数名の範囲を連結する方法は?

angular.module('ExampleApp', ['ngDraggable']). 
     controller('MainCtrl', function ($scope) { 
     $scope.centerAnchor = true; 
     $scope.toggleCenterAnchor = function() {$scope.centerAnchor = !$scope.centerAnchor} 
     $scope.draggableObjects = [{name:'subject1'}, {name:'subject2'}, {name:'subject3'}]; 
     $scope.droppedObjects1 = []; 
     $scope.droppedObjects2 = []; 
     $scope.onDropComplete1=function(data,evt,i){ 
      var index = $scope.droppedObjects1.indexOf(data); 
      if (index == -1) 
      $scope.droppedObjects1.push(data); 
     } 
     $scope.onDragSuccess1=function(data,evt){ 
      console.log("133","$scope","onDragSuccess1", "", evt); 
      var index = $scope.droppedObjects1.indexOf(data); 
      if (index > -1) { 
       $scope.droppedObjects1.splice(index, 1); 
      } 
     } 
     var inArray = function(array, obj) { 
      var index = array.indexOf(obj); 
     } 
     }); 

と変数を「i」は、関数呼び出しに渡すと、私はこれが可能であるどのようにこのvar index = $scope.droppedObjects+i.indexOf(data);のようにやってみたいですか?

答えて

2

あなたはこの概念を使用して試すことができます

var index = $scope["droppedObjects"+i].indexOf(data); 
+0

ありがとうございました:) –

0

を試すことができます。私はあなたに助けてくれることを願っています。

var i=0; 
var the_string = 'droppedObjects' + i; 

// Get the model // 
var model = $parse(the_string); 

// Assigns a value to it // 
model.assign($scope, 42); 

console.log($scope.droppedObjects0); 
関連する問題