使用ng-repeat获取值的键

Grabbing the key of a value using ng-repeat

本文关键字:获取 ng-repeat 使用      更新时间:2023-09-26

我是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变量的值。