2015-03-27 2 views
-3

Есть ли у функции AngularJS какие-либо функции или методы, подобные eval?Имеет ли функция AngularJS функцию eval?

Мне нужно получить значение предварительно определенной переменной, например:

data.mess_5 = "Hello" 
c = 5 
x = eval("data.mess_" + c) 
+0

Массивное печальное лицо. eval убивает единорогов. 'x = data [" mess _ "+ c];' –

+1

Кроме того, если вы правильно указали имя, вам может быть проще найти информацию о ** AngularJS **. – jonrsharpe

+2

Я имею в виду, angularjs все еще javascript, поэтому ... вы можете использовать eval, если хотите. –

ответ

2

Angularjs является JavaScript, так что вы можете используйте eval, предполагая, что ваш var находится в глобальном масштабе. Однако в этом конкретном случае (и в большинстве других случаев) eval является неправильным инструментом для работы.

data.mess_5 = "Hello" 
c = 5 
x = data['mess_' + c] 
1

Проверьте функцию $ синтаксического анализа (взятый из Setting dynamic scope variables in AngularJs - scope.<some_string>)

var the_string = 'life.meaning'; 

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

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

// Apply it to the scope 
$scope.$apply(); 
console.log($scope.life.meaning); // logs 42