2015-05-26 4 views
0

У меня есть массив объектов, который содержит в нем число переменных переменной области видимости. Все значения переменной области уже заданы ранее.

Что-то вроде этого:
Получить значение переменной динамической области angularjs

$scope.myarray = [{'id':'myname1'},{'id':'myname2'}]; 
$scope.myname1 = 'John'; 
$scope.myname2 = 'Rick'; 

Теперь, если я хочу, чтобы получить значение переменной области действия, которые в «ид» из «MyArray», что я должен делать?
Я уже попробовал этот

var getMeMyValue = $scope[myarray[0]]; 

Что-то вроде этого, но это не помогло.
я видел в this example что, как установить переменную области видимости динамически
Но я не получил ничего о том, как получить значение динамически

Пожалуйста, помогите мне с этим, спасибо !!

P.S. Здесь я динамически получаю мою переменную области действия таким образом, нет никакого способа, которым я могу обращаться к ним напрямую, чтобы получить их значение

+0

это работает '$ scope.myarray = [ 'myname1', 'myname2']; var getMeMyValue = $ scope [myarray [0]]; ' – Grundy

+0

вы можете показать рабочий пример, как вы пытаетесь, и какая у вас ошибка? – Grundy

+0

Или вы можете создать образец в http://jsfiddle.net? –

ответ

1

Это позволит получить значение для вас динамически:

var getMyValue = $scope[$scope.myarray[0].id]; 
+0

Я думаю, что это решит мою проблему. Спасибо @brocco и жаль, что я не могу дать вам большие пальцы. Недостаточно репутации: P – sam

+0

Нет проблем, если это решит вашу проблему, пожалуйста, отметьте ее как принятый ответ (даже если вы не можете выдвинуть из-за репутации) – Brocco

0

Пожалуйста, проверьте этот http://plnkr.co/edit/ZwwuKRVwgD74ufY2GmB8?p=preview

Controller -

var app = angular.module('myApp', [ ]); 

app.controller('myController', function($scope) { 
    $scope.myarray = [{'id':'myname1'},{'id':'myname2'}]; 
    $scope.myname1 = "John;" 
    var getMeMyValue = $scope[$scope.myarray[0].id]; 
    console.log(getMeMyValue); 

}); 
+0

Это работает для вас? – User2

+0

ваш ответ такой же, как @Brocco ответ – Grundy

+0

О, да .. Я не проверял. – User2

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