angularjs 国家代码通过 $http 请求从 json 文件中查找
angularjs country code look up from jsonfile via $http request
我正在尝试从 json 文件中查找国家/地区代码以获取完整的国家/地区名称:
$scope.fullname = function (option) {
$http.get('files/names.json').success(function (data) {
for (var i = 0; i < data.length; i++) {
if (data[i].key === option)
return data[i].value;
}
})
};
并在标记中:
<td class="secondary-text">{{fullname (list.countrycode) }}</td>
我遇到严重错误并且浏览器崩溃了。
有人可以帮我解决这个问题吗?我怎样才能将列表存入内存,然后从该列表中查找国家/地区代码?
我的json文件是这样的:
{
"BD": "Bangladesh",
"BE": "Belgium",
"BF": "Burkina Faso",
"BG": "Bulgaria",
"BA": "Bosnia and Herzegovina",
"BB": "Barbados",
"WF": "Wallis and Futuna",
"BL": "Saint Barthelemy",
"BM": "Bermuda",
"BN": "Brunei",
...
浏览器当然会因这一行而崩溃:
<td class="secondary-text">{{fullname (list.countrycode) }}</td>
你知道 fullname()
函数被调用了多少次吗?每个消化周期!这发生了很多次。
在您的控制器中,您应该直接从控制器内部创建对服务器的单一调用:
$http.get('files/names.json').success(function (data) {
$scope.fullnames = data;
})
在视图中你可以做类似的事情
<td class="secondary-text" ng-repeat="(key,value) in fullnames" ng-if="key == list.countrycode">{{value }}</td>
我不知道你的 HTML 是什么样子,但你也可以通过使用 one-time 绑定来改进它,例如:
<td class="secondary-text" ng-repeat="(key,value) in ::fullnames" ng-if="key == list.countrycode">{{value }}</td>
我正在尝试从 json 文件中查找国家/地区代码以获取完整的国家/地区名称:
$scope.fullname = function (option) {
$http.get('files/names.json').success(function (data) {
for (var i = 0; i < data.length; i++) {
if (data[i].key === option)
return data[i].value;
}
})
};
并在标记中:
<td class="secondary-text">{{fullname (list.countrycode) }}</td>
我遇到严重错误并且浏览器崩溃了。 有人可以帮我解决这个问题吗?我怎样才能将列表存入内存,然后从该列表中查找国家/地区代码?
我的json文件是这样的:
{
"BD": "Bangladesh",
"BE": "Belgium",
"BF": "Burkina Faso",
"BG": "Bulgaria",
"BA": "Bosnia and Herzegovina",
"BB": "Barbados",
"WF": "Wallis and Futuna",
"BL": "Saint Barthelemy",
"BM": "Bermuda",
"BN": "Brunei",
...
浏览器当然会因这一行而崩溃:
<td class="secondary-text">{{fullname (list.countrycode) }}</td>
你知道 fullname()
函数被调用了多少次吗?每个消化周期!这发生了很多次。
在您的控制器中,您应该直接从控制器内部创建对服务器的单一调用:
$http.get('files/names.json').success(function (data) {
$scope.fullnames = data;
})
在视图中你可以做类似的事情
<td class="secondary-text" ng-repeat="(key,value) in fullnames" ng-if="key == list.countrycode">{{value }}</td>
我不知道你的 HTML 是什么样子,但你也可以通过使用 one-time 绑定来改进它,例如:
<td class="secondary-text" ng-repeat="(key,value) in ::fullnames" ng-if="key == list.countrycode">{{value }}</td>