【发布时间】:2017-01-24 12:28:00
【问题描述】:
我在我的应用程序中使用 MEAN 堆栈,并将 AngularJS 作为我的前端。如何过滤表中的两个 ng-module 值。My Plunker without filter 和 My Plunker with filter。
- 我想过滤一个表中的两个 ng-module 值。
- 我可以过滤单个 ng-module 值,例如在 ng-repeat 中使用
| filter:{raised: 'true'}。 - 如果我在 ng-repeat 中使用了
| filter:{raised: 'true'},我无法过滤这两个 ng-module 值。 - 我在寻找什么 :- 如果
raised值为true意味着这些真实值只需要显示在表格中,因此我在 ng-repeat 中使用了| filter:{raised: 'true'}过滤器。 - 如果
raised_two值也是true意味着我需要在表格中显示这些true值,以便我在ng-repeat 中使用| filter:{raised_two: 'true'}过滤器.. - 但如果我们在
ng-repeat中使用两个ng-module过滤器,则表格显示为empty.... 那么如何在表格中过滤两个ng-module值.... - 我想在表格中显示
raised模块和raised_two模块的true值。
我的过滤器:-
<tr ng-repeat="data in srdebitnote | filter:{raised: 'true'} ">
<tr ng-repeat="data in srdebitnote | filter:{raised_two: 'true'} ">
我的 html:-
**<tr ng-repeat="data in srdebitnote | filter:{raised: 'true'} ">
<td> {{data.buyer_name}}</td>
<td> {{data.supplier_name}}</td>
<td> {{data.proforma_invoice_no}}</td>
<td> {{data.purchase_order_no}}</td>
<td> {{data.raised}}</td>
<td> {{data.raised_two}}</td>
</tr>**
我的控制器:-
$scope.srdebitnote = [{
"_id": "57db960f6a3b14d20dfb39d6",
"user": {
"_id": "57400c32bd07906c1308e2cf",
"displayName": "mani selvam"
},
"__v": 0,
"created": "2016-09-16T06:49:51.970Z",
"shipment_id": "57c815a89a9b487f14b40bab",
"raised_two": true,
"raised": false,
"invoice_number": "E21_56",
"proforma_invoice_no": "6 years",
"purchase_order_no": "8888",
"supplier_name": "veena",
"buyer_name": "risha"
},
{
"_id": "57daa24fafebd11818b55d94",
"user": {
"_id": "57400c32bd07906c1308e2cf",
"displayName": "mani selvam"
},
"__v": 0,
"created": "2016-09-15T13:29:51.398Z",
"shipment_id": "57c815a89a9b487f14b40bab",
"raised_two": true,
"raised": false,
"invoice_date": "2016-09-13",
"invoice_number": "E21_56",
"proforma_invoice_no": "6 years",
"purchase_order_no": "8888",
"supplier_name": "rubi",
"buyer_name": "kanishka"
},
{
"_id": "57becb6ddc4a44520ac628f4",
"user": {
"_id": "57400c32bd07906c1308e2cf",
"displayName": "mani selvam"
},
"__v": 0,
"created": "2016-08-25T10:41:49.133Z",
"shipment_id": "57becb69dc4a44520ac628f3",
"raised_two": false,
"raised": true,
"invoice_number": "E21_check",
"proforma_invoice_no": "kdkdkd",
"purchase_order_no": "1356",
"supplier_name": "karikalan",
"buyer_name": "ms"
},
{
"_id": "57bdaa65ecc4b1701401fce4",
"user": {
"_id": "57400c32bd07906c1308e2cf",
"displayName": "mani selvam"
},
"__v": 0,
"created": "2016-09-15T13:29:51.398Z",
"shipment_id": "57c815a89a9b487f14b40bab",
"raised_two": false,
"raised": true,
"invoice_date": "2016-09-13",
"invoice_number": "E21_56",
"proforma_invoice_no": "6 years",
"purchase_order_no": "8888",
"supplier_name": "rubi",
"buyer_name": "kanishka"
}];
如果我使用了这样的过滤器,数据在表中显示为空:-
<tr ng-repeat="data in srdebitnote | filter:{raised: 'true'} | filter:{raised_two: 'true'} ">
- 我创建了 plunker 以供参考:- My Plunker without filter 和 My Plunker with filter。然后My Plunker Used filter but datas showing like empty
【问题讨论】:
-
如果任何一个条件为真你想显示那个表记录??如果我错了,请纠正我
-
感谢您的评论 是的,完全...
-
您可以做一件事编写自定义过滤器,该过滤器将接受您希望通过 raise 或 raise_two 过滤的参数并相应地显示数据
-
Selvam 您可以在任何事件发生时将它们传递给您要过滤数据的列的标题的例如 onClick
-
嘿,谢谢 Dhiraj 先生,您能否提供更新的 plunker 以及了解解决方案...