大佬教程收集整理的这篇文章主要介绍了angularjs – 具有嵌套属性的ng-table过滤器,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
[{ "Id": "1","Data": {"Str1": "Ann","Str2": "Xenna"} },{ "Id": "2","Data": {"Str1": "Bob","Str2": "Bobby"},}]
我创建了ng-table来显示它.我试着添加过滤器.当我按Id过滤时,一切都按预期工作(过滤器为{“Id”:“2”}).但我无法创建适当的过滤器做Str1和Str2字段.我已经尝试过:
> {“Str1”:“A”}
> {“Data.Str1”:“A”}
> {“Data [‘Str1’]”:“A”}
但上面的选项不起作用.
我的工作示例如下:http://plnkr.co/edit/MyJCqTlgvKLtSP63FYQY?p=preview
更新
感谢@Blackhole我创建了过滤器{Data:{Str1:’A’}}.但我只能在代码中进行delcare.当我尝试在HTML中添加这样的内容时,它甚至不会显示过滤器:
<td data-title="'Str1'" filter="{Data:{Str1: 'text'}}"> {{ user.Data.Str1 }} </td>
<div ng-repeat="(name,filter) in column.filter"> //!!!! right here it's not supported <div ng-if="column.filterTemplateURL" ng-show="column.filterTemplateURL"> <div ng-include="column.filterTemplateURL"></div> </div> <div ng-if="!column.filterTemplateURL" ng-show="!column.filterTemplateURL"> <div ng-include="'ng-table/filters/' + filter + '.html'"></div> </div> </div>
就在这里< div ng-repeat =“(名称,过滤器)在column.filter”>它不是挖掘嵌套对象
Ngtable不支持默认模板中的嵌套过滤器,因此您可以创建自己的模板,它将支持它.看看example of header template.
注意
这个column.filter是如何初始化的,它是从td标签source上的filter属性解析的
var parsedAttribute = function (attr,defaultValue) { return function (scope) { return $parse(el.attr('x-data-' + attr) || el.attr('data-' + attr) || el.attr(attr)) (scope,{ $columns: columns }) || defaultValue; }; }; var parsedTitle = parsedAttribute('title',' '),headerTemplateURL = parsedAttribute('header',false),// here filter = parsedAttribute('filter',false)(),filterTemplateURL = false,filterName = false; ... columns.push({ .... filter: filter,
以上是大佬教程为你收集整理的angularjs – 具有嵌套属性的ng-table过滤器全部内容,希望文章能够帮你解决angularjs – 具有嵌套属性的ng-table过滤器所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。