动态范围变量赋予角度

时间:2016-04-24 11:24:46

标签: angularjs dynamic scope

我在$scope.model变量中有我的表单名称,并且动态添加。我想根据$scope.model更改表单字段的值 例如

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

但我并没有改变$scope.form.field.text的价值。我怎样才能做到这一点? 这是my plunkr

1 个答案:

答案 0 :(得分:1)

在这种情况下,您需要使用Angular内部使用的$ parse服务来实现此目的:

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/