我在$scope.model
变量中有我的表单名称,并且动态添加。我想根据$scope.model
更改表单字段的值
例如
$scope.model = 'form.field.text';
$scope.[$scope.model]= 'new value';
但我并没有改变$scope.form.field.text
的价值。我怎样才能做到这一点?
这是my plunkr
答案 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);
}