我有一个默认情况下在name
列上排序的表。我想增强它以使该排序行为基于isSortingRequired
标志可选。我如何提供条件{{我模板中的1}}子句。
答案 0 :(得分:2)
您可以使用三元运算符
orderBy:(isSortingRequired?'CONDITION_FOR_SORT_REQUIRED':'CONDITION_FOR_SORT_NOT_REQUIRED')
答案 1 :(得分:2)
orderBy:(isSortingRequired?'CONDITION_FOR_SORT_REQUIRED':'CONDITION_FOR_SORT_NOT_REQUIRED')
当''
传递给orderby
过滤器时,它会尝试按对象的hashkey
排序,这可能会按照记录的顺序产生问题。解决方案是使用自定义如下定义的过滤器,如果标志为真,则使用内置的orderBy过滤器。
.filter('customOrder',function($filter)
{
return function(friend, prediate,isSortRequired){
if(!isSortRequired)
return friend;
else
{
var result = $filter("orderBy")(friend, prediate);
return result;
}
}
});
可以看到解决方案here。这解决了我的问题。