我在 ng-table 中有一个发票列表,并且希望能够过滤嵌套属性。json看起来像这样;
[
{
id: 1,
date: "20/03/2014",
no: "1",
client: {
fullname: "ABC Catering"
}
}
]
我的观点看起来像这样
<table ng-table="tableParams" show-filter="true" class="table">
<tr class='listing' ng-repeat="invoice in $data">
<td data-title="'Invoice No.'" sortable="'no'" filter="{'no':'text'}">
{{invoice.no}}
</td>
<td data-title="'Date'" sortable="'date'" filter="{'date':'text'}">
{{invoice.date}}
</td>
<td data-title="'Client'" sortable="'client.fullname'" filter="{'client.fullname':'text'}">
{{invoice.client.fullname}}
</td>
<td>
<a href="/api#/invoices/{{invoice.id}}">Show</a>
<a href="/api#/invoices/{{invoice.id}}/edit">Edit</a>
<a href="" ng-confirm-click="destroy(invoice.id)">Delete</a>
</td>
</tr>
</table>
我想让过滤为client.fullname工作。如何过滤嵌套属性?
更新
我找到了一个解决方法,我只是将嵌套字段放入非嵌套 JSON 元素中,在上面的示例中,我创建了一个 JSON['client_name'] 元素并将其分配给 rails 模型中的 client.fullname。然后过滤器工作,因为它没有嵌套。
仍在寻找一种无需此工作即可解决的方法。