我有一个带参数化名称的表单,如
<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;
谢谢
答案 0 :(得分:1)
$scope
只是另一个JS对象。所以你可以使用常规JS对象做任何事情,你可以使用范围。
$scope.foo = 'bar';
console.log($scope['foo']); //bar
var propName = 'foo';
console.log($scope[propName]); //bar
所有这些都是有效的。