我是angular的新手,我试图通过构建一个项目来掌握一些基本概念。我有以下div,它将从下拉菜单中选择的键中计算一个值(显然原始数据存储是一个对象!)
如下所示,我在控制器中所做的所有工作都与值有关,并且我正在显示键。在我的控制器中,我如何访问键{{k}}(请记住,我想要的键是被选中的键)?我想在控制器中对那个键做点什么
<select class="form-control" ng-model="selectedItem1" ng-change="calc()">
<option ng-repeat="(k,v) in data.playerInfo" ng-value="v" >{{k}}</option>
</select>
在我的控制器中,我有计算函数,它获取值:
$scope.calc = function() {
$scope.calculatedValue1 = Number($scope.selectedItem1);
if($scope.selectedItem2){
$scope.calculatedValue1 = Number($scope.selectedItem1) + Number($scope.selectedItem2);
}
}
添加getKey
函数:
function getKey(obj, value)
for (key in obj) {
if (obj[key] === value) {
return key;
}
}
return;
}
修改calc
函数:
$scope.calc = function() {
$scope.calculatedValue1 = Number($scope.selectedItem1);
if($scope.selectedItem2){
$scope.calculatedValue1 = Number($scope.selectedItem1) + Number($scope.selectedItem2);
}
$scope.key1 = getKey($scope.data.playerInfo, $scope.calculatedValue1);
}
这将最终获取$scope.key1
变量的值。