AngularJS обновление var в DOM, на которое ссылается функция через контроллер

Как я могу обновить значение переменной, отправленной в функцию, из той же самой функции?

HTML:

Message is: {{ msg }}
<button ng-click="updateVar(msg)">Update</button>

AngularJS:

$scope.msg = 'Init';

$scope.updateVar = function(varToUpdate) {
    varToUpdate = 'Var was updated!';
};

Я не могу сделать $scope.msg = 'Var was updated!';, поскольку в функции, которую я пишу, у меня есть много переменных, которые можно обновить, и я не хочу писать разные случаи для каждой отдельной переменной.

Спасибо!

1 ответ

Решение

updateVar(msg) передает значение $scope.msg к функции.

Вы хотите передать имя переменной (точнее, имя свойства $scope): updateVar('msg')

И ваша функция может затем использовать имя переменной, чтобы изменить ее значение:

$scope.updateVar = function(varToUpdate) {
    $scope[varToUpdate] = 'Var was updated!';
};
Другие вопросы по тегам