AngularJS访问范围参数化值

时间:2014-03-11 03:04:00

标签: angularjs angularjs-scope

我有一个带参数化名称的表单,如

 <div id="form-group">
  <label>City</label>
  <input class="form-control" id="localityGoogle" disabled="true" ng-model="localityGoogle"></input></td>
</div>

<div id="form-group">
  <label>State</label>
  <input class="form-control" id="administrative_area_level_1Google" disabled="true" ng-model="administrative_area_level_1Google "></input></td>
</div>

在另一个函数中,我获取要在表单中设置的值。我迭代我获得的结构来设置值

for (var i = 0; i < place.address_components.length; i++) {
   var addressType = place.address_components[i].types[0];

   if (componentForm[addressType]) {
      addressTypeGoogle = addressType+'Google';
      var val = place.address_components[i][componentForm[addressType]];
      $scope.addressTypeGoogle = val;
   }
}

我想知道是否可以像这样的方式访问范围中的值

$scope[addressTypeGoogle] = newValue;

谢谢

1 个答案:

答案 0 :(得分:1)

$scope只是另一个JS对象。所以你可以使用常规JS对象做任何事情,你可以使用范围。

$scope.foo = 'bar';

console.log($scope['foo']); //bar

var propName = 'foo';

console.log($scope[propName]); //bar

所有这些都是有效的。