2016-04-24 2 views
1

У меня есть имя моей формы в переменной $scope.model и ее динамическое добавление. Я хотел изменить значение поля формы в соответствии с $scope.model.
НапримерНазначение переменной динамического диапазона Угловое

$scope.model = 'form.field.text'; 
$scope.[$scope.model]= 'new value'; 

Но я этого не меняется значение $scope.form.field.text. Как я могу это сделать? Вот my plunkr

+0

Я предполагаю, что это в виду неправильную модель. – john51

ответ

1

В этом случае вам нужно использовать $ службы синтаксического анализа, который используется Угловая внутри именно для этой цели:

function ctrl($scope, $parse) { 
    $scope.form = { 
    field: { 
     text: '' 
    } 
    }; 
    $scope.form.field.text = 'Myvalue'; 

    $scope.model = 'form.field.text'; 

    $parse($scope.model).assign($scope, 'new value'); 
    console.log($scope.form.field.text); 
} 

Демо:http://jsfiddle.net/8hkbdq20/1/

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