Ruu*_*Kok 0 javascript angularjs angularjs-scope
我有一个页面,我想打印一些标签的值,我已经在JSON对象中:
$scope.countries = [
{
"key": "NL",
"value": "Netherlands"
},
{
"key": "BE",
"value": "Belgium"
},
{
"key": "TR",
"value": "Turkey"
},
{
"key": "PL",
"value": "Poland"
}
]
Run Code Online (Sandbox Code Playgroud)
所以我在范围内有国家/地区代码,并希望使用过滤器来替换实际国家/地区名称的代码.因此我实现了这样的过滤器:
{{formulier.country | fetchname }}
Run Code Online (Sandbox Code Playgroud)
我正在尝试构建的过滤器应该在上面的国家/地区范围内搜索国家/地区代码(密钥),并返回这些(值)的国家/地区名称.我开始使用这个过滤器,但不幸的是我没有让它工作.
app.filter('fetchname', function() {
return function(input, all) {
angular.forEach($scope.countries, function(key, value) {
if (key === input) {
return value;
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
我必须对我的过滤器进行哪些更改才能在AngularJS中使用它?如何将'NL'替换为'荷兰'?
小智 5
该$scope过滤器中的代码不会是一样的$scope,从您的JSON对象(我假设,你没有张贴所有的代码).您应该更新过滤器以获取参数,特别是用于匹配传递给过滤器的值的国家/地区列表.
app.filter('fetchname', function() {
return function(input, countries) {
angular.forEach(countries, function(value, key) {
if (key === input) {
return value;
}
});
});
Run Code Online (Sandbox Code Playgroud)
您可以在HTML中使用它(假设countries为当前范围填充):
{{ formulier.country | fetchname:countries }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1571 次 |
| 最近记录: |