如何在HTML Angular JS中获取关键字段的全名(国家名称)?

时间:2018-11-29 09:52:05

标签: javascript angularjs json lodash

我正在使用Angular js,Lodash。因此,我正在调用一个API,该API具有如下所示的json数据。

[{ "_id":"zw",
   "name":"Zimbabwe"   
},
{ "_id":"au",
   "name":"Australia"   
},
{ "_id":"in",
   "name":"India"   
}]

我编写了一个函数来映射国家/地区完整形式的国家/地区代码。

$scope.CountryHashmap  =  _.reduce(res,  function (hash,  value)  {
          var  key  =  value['_id'];
          hash[key]  =  value['name'];
          return  hash;
        },  {});

在放置_.reduce函数之后,下面是映射的数据:

{
"zw":"Zimbabwe",
"au":"Australia",
"in":"india"

}

在html页面中,我已经有国家/地区代码,所以我想输入国家/地区代码的全名。

HTML

{{countryCode}}

国家代码,例如au,in和zw。

2 个答案:

答案 0 :(得分:0)

如果要从$ scope.CountryHashmap获取名称,则$ scope.CountryHashmap从对象返回国家名称。

 {{CountryHashmap[countryCode]}} 

您还可以创建函数。

$scope.getName(code){
    if(code)
        return $scope.CountryHashmap[code];
}

不清楚您想要什么。 :P

答案 1 :(得分:0)

据我了解,只需将国家/地区代码key传递到映射数据数组,例如mappedDataArr[key]

var app = angular.module("myApp", []);

app.controller("MyCtrl", function($scope) {	
    $scope.mappedDataArr = {
      "zw":"Zimbabwe",
      "au":"Australia",
      "in":"india"
    };
});
<html>
<head>
   <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

</head>
<body>
<div ng-app="myApp" ng-controller="MyCtrl">
    <span>{{ mappedDataArr['in'] }}</span>
</div>
</body>
</html>