Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 使用角度滤波器_Angularjs_Angular Filters - Fatal编程技术网

Angularjs 使用角度滤波器

Angularjs 使用角度滤波器,angularjs,angular-filters,Angularjs,Angular Filters,我在应用程序中使用angular 1.5,其中我使用rest服务调用的JSON响应在UI上显示数据。我现在需要根据rest服务调用中的特定“状态”更改UI上显示的文本。有人能帮助我如何使用角度过滤器来实现这一点吗 JSON响应: var response = { "recordCnt": 1, "details": [{ "type": "user", "**status**": 0 }] }; **状态**可以是“1”也可以是“2”。我需要根据UI上的这些值显示不

我在应用程序中使用angular 1.5,其中我使用rest服务调用的JSON响应在UI上显示数据。我现在需要根据rest服务调用中的特定“状态”更改UI上显示的文本。有人能帮助我如何使用角度过滤器来实现这一点吗

JSON响应:

var response = {
  "recordCnt": 1,
  "details": [{
    "type": "user",
    "**status**": 0
  }]
};
**状态**
可以是“1”也可以是“2”。我需要根据UI上的这些值显示不同的详细信息


例如:如果状态为“0”,如果状态为“1”,我将必须显示“不活动”、“活动”,如果状态为“2”,则必须显示“过期”

在这种情况下,我想您只需要一个条件:

<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>
不活动
积极的
期满


。您可以使用
状态
值查看更改。

我认为在这种情况下,您只需要一个条件:

<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>
不活动
积极的
期满

。您可以使用
状态
值查看更改。

您可以使用

 <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>
    (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);
})();

不活跃的
积极的
期满

您可以使用

 <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>
    (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);
})();

不活跃的
积极的
期满

我可以使用一个自定义角度过滤器来处理相同的问题,它很有效。感谢@sajeetharan和@mistalis的投入

 <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>
    (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);
})();
单元级配置:

cellTemplate:“{row.entity[col.field]|getUserStatus}”//'getUserStatus'是使用的筛选器

过滤器:


我可以使用一个自定义的角度过滤器,同样有效。感谢@sajeetharan和@mistalis的投入

单元级配置:

cellTemplate:“{row.entity[col.field]|getUserStatus}”//'getUserStatus'是使用的筛选器

过滤器:


实际上,我正在使用这个状态显示在一个有角度的UI网格的单元格中。因此,我必须使用相同的过滤器,因为所有列都是可配置的。是否可以使用筛选器执行同样的操作?您可以在任何HTML标记上使用
ng if
(不仅仅是
div
)。如果您使用网格,您可以根据自己的需要对其进行调整(可能是
td
而不是
div
?),如果您提供网格代码示例,我想我可以为您进行调整。下面是如何为网格配置“状态”列,状态:{name:'status',displayName:'User status',editable:false,width:'100',cellTemplate:{{row.entity[col.field]| yourfilter}},}在上面的代码片段中,“yourfilter”是一个过滤函数,我希望它能像你在回答中解释的那样做。你需要修改一下你的模板(使用
外部作用域
),请看。实际上,我正在使用此状态显示在角度UI网格的单元格中。因此,我必须使用过滤器,因为所有列都是可配置的。是否可以使用过滤器执行相同操作?您可以在任何HTML标记(不仅是
div
)上使用
ng if
)。如果您使用网格,您可以根据自己的需要对其进行调整(可能是
td
而不是
div
?),如果您提供网格代码示例,我想我可以为您进行调整。下面是如何为网格配置“状态”列,状态:{name:'status',displayName:'User status',editable:false,width:'100',cellTemplate:{{row.entity[col.field]| yourfilter}},}在上面的代码片段中,“yourfilter”是一个过滤函数,我希望它能像你在回答中解释的那样做。你需要修改一下你的模板(使用
外部作用域
)如果你的问题解决了,你能接受答案吗?:)如果你的问题解决了,你能接受答案吗?:)