2016-05-12 13 views
1

Ich habe eine Bereich Array-Variable, auf die ich versuche, dynamisch zuzugreifen. Ihr Wert wurde bereits festgelegt.Get dynamische Bereich Array Variablenwert in angularjs

Es ist so.

Wenn ich versuche, dynamisch wie unten zuzugreifen, werde ich undefiniert.

console.log($scope['setp.arr[0]']); 

Allerdings kann ich direkt darauf zugreifen, indem Sie Folgendes verwenden.

console.log($scope.setp.arr[0]); 

Die Art und Weise der Wert des Bereichs Variable dynamisch immer für andere gut funktioniert aber nicht, wenn der Variablenname in eckigen Klammern d [] enthält.

Ich folgte dieser example aber kein Erfolg für Scope-Variable mit Array oder eckigen Klammern [].

Auch die dynamische Einstellung der Scope-Array-Variablen mit $ parse-Service funktioniert wie unten beschrieben.

var scopeVariable = $parse('setp.arr[0]'); 
scopeVariable.assign($scope, "new Value"); 
+0

'$ scope ['setp']. Arr [0]' oder $ scope ['setp'] ['arr'] [0] 'wenn Sie echte Cray Cray gehen wollen. – ste2425

+0

Vielen Dank. Es funktionierte. –

Antwort

0

Dies wird nicht console.log($scope['setp.arr[0]']); arbeitet als eine Eigenschaft setp.arr[0] zuzugreifen versuchen. Sie können darauf zugreifen wie console.log($scope['setp']['arr'][0]);