2016-05-12 3 views
1

У меня есть переменная массива области, к которой я пытаюсь получить доступ динамически. Его значение уже установлено.Получить значение переменной массива динамической области в angularjs

Это как.

$scope.setp = { arr: [] }; 
$scope.setp.arr[0] = "sample Value"; 

Когда я пытаюсь получить доступ к нему динамически, как показано ниже, я получаю неопределенный.

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

Однако я могу получить к нему доступ напрямую, используя следующее.

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

Способ получения динамически значение переменной области видимости прекрасно работает для других, но терпит неудачу, когда имя переменной содержит квадратные скобки, т.е. [].

Я следил за этим example, но не удался для переменной области, содержащей массив или квадратные скобки [].

Также динамическая настройка переменной массива области видимости с помощью службы $ parse работает отлично, как показано ниже.

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

'$ scope ['setp']. Arr [0]' или '$ scope ['setp'] ['arr'] [0]' если вы хотите перейти в реальный cray cray. – ste2425

+0

Большое спасибо. Это сработало. –

ответ

0

Это не будет работать console.log($scope['setp.arr[0]']); как его пытаются получить доступ к свойству setp.arr[0]. Вы можете получить к нему доступ, как console.log($scope['setp']['arr'][0]);

Смежные вопросы