Javascript 基于键值对数组的AngularJS格式化数据
我有下面带有Angular的HTML,它简单地循环遍历每个结果并打印它:Javascript 基于键值对数组的AngularJS格式化数据,javascript,arrays,angularjs,Javascript,Arrays,Angularjs,我有下面带有Angular的HTML,它简单地循环遍历每个结果并打印它: <tr ng-repeat="transaction in transactions | filter:search"> <td>{{transaction.created}}</td> <td><a href="#/transactions/{{transaction.id}}">{{transaction.type}}</a><
<tr ng-repeat="transaction in transactions | filter:search">
<td>{{transaction.created}}</td>
<td><a href="#/transactions/{{transaction.id}}">{{transaction.type}}</a></td>
<td>{{transaction.amount}}</td>
</tr>
{{transaction.created}
{{transaction.amount}}
但是,类型
的数据库值是发送、接收、购买和出售。当它显示在视图中时,我希望它像您所期望的那样,是一个动词(发送、接收、购买、出售)
我如何创建一个JavaScript数组,该数组的键值对为db value以显示值,并在与键匹配的数组中显示值(角度)?假设您获得的
类型类似:
- 发送200个
- 收到150美元
- 25英镑买的
- 出售354件
您可以创建一个简单的过滤器,如下所示:
app.filter('typeToString', function(){
var types = {'200':'sent', '150':'received', '25':'bought', '354':'sold'};
return function(type){
return types[type];
};
})
<tr ng-repeat="transaction in transactions | filter:search">
<td>{{transaction.created}}</td>
<td><a href="#/transactions/{{transaction.id}}">{{transaction.type|typeToString}}</a></td>
<td>{{transaction.amount}}</td>
</tr>
app.filter('typeToString', function(){
var types = ['sent', 'received', 'bought', 'sold'];
return function(type){
return types[type];
};
})
然后像这样使用它:
app.filter('typeToString', function(){
var types = {'200':'sent', '150':'received', '25':'bought', '354':'sold'};
return function(type){
return types[type];
};
})
<tr ng-repeat="transaction in transactions | filter:search">
<td>{{transaction.created}}</td>
<td><a href="#/transactions/{{transaction.id}}">{{transaction.type|typeToString}}</a></td>
<td>{{transaction.amount}}</td>
</tr>
app.filter('typeToString', function(){
var types = ['sent', 'received', 'bought', 'sold'];
return function(type){
return types[type];
};
})
不起作用——表中没有显示任何值。@BillyAssim我刚刚用另一个工作示例对另一个案例进行了另一次更新,请看一看,因为这是可行的。如果它仍然不适用于您,请共享您正在使用的代码,我将帮助您使其工作,谢谢!