我在我的应用程序中使用angular 1.5,我在其中使用来自休息服务调用的JSON响应来在UI上显示数据。我现在需要根据来自其余服务调用的特定'statu'来更改UI上显示的文本。有人可以帮助我如何使用角度滤波器来实现这一目标吗?
JSON响应:
var response = {
"recordCnt": 1,
"details": [{
"type": "user",
"**status**": 0
}]
};
**status**
可以是'1'也可以是'2'。我需要在UI上根据这些值显示不同的值。
例如:如果状态为'0',我将必须显示'无效','有效',如果状态为'1','过期',如果状态为'2'
答案 0 :(得分:1)
在这种情况下,我认为您只需要 ng-if 条件:
<div ng-if="response.details[0].status = 0">inactive</div>
<div ng-if="response.details[0].status = 1">active</div>
<div ng-if="response.details[0].status = 2">expired</div>
<强> Try it on JSFiddle 即可。您可以使用status
值来查看更改。
答案 1 :(得分:1)
您可以使用 ng-if
<div ng-controller="listController">
<div ng-if="data.details[0].status == 0">inactive</div>
<div ng-if="data.details[0].status == 1">active</div>
<div ng-if="data.details[0].status == 2">expired</div>
</div>
<强> DEMO 强>
答案 2 :(得分:0)
我能够使用自定义角度过滤器,它有效。感谢@sajeetharan和@mistalis的输入。
单元格级别配置:
cellTemplate:'{{row.entity [col.field] | getUserStatus }}'//'getUserStatus'是使用的过滤器。
过滤:
(function() {
'use strict';
var statusMap = {'inactive', 'active', 'expired'};
var filter = function(statusMap) {
return function(status) {
return statusMap[status]; // 'status' could be '0', '1' and '2'
};
};
angular.module('app.userSearch).filter('getUserStatus', filter);
})();