代码之家  ›  专栏  ›  技术社区  ›  Varun Sharma

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

  •  0
  • Varun Sharma  · 技术社区  · 6 年前

    我用的是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 回复  |  直到 6 年前
        1
  •  0
  •   Sameer    6 年前

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

     {{CountryHashmap[countryCode]}} 
    

    您还可以创建函数。

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

    不清楚你想要什么。P

        2
  •  0
  •   Shiv Kumar Baghel    6 年前

    据我所知,只要通过国家代码 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>