Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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
在Array.prototype.sort中使用AngularJS筛选器不起作用_Angularjs_Angularjs Filter_Angularjs Orderby - Fatal编程技术网

在Array.prototype.sort中使用AngularJS筛选器不起作用

在Array.prototype.sort中使用AngularJS筛选器不起作用,angularjs,angularjs-filter,angularjs-orderby,Angularjs,Angularjs Filter,Angularjs Orderby,我尝试使用过滤器返回的值对数组进行排序。调试时,我看到过滤器不返回字符串,而是TrustedValueHolderType。。。因此,这种方法不起作用 如果我使用本机的orderByFilter而不是Array.prototype.sort,我会得到同样的行为 function orderFamilies(families) { var ordered = families.sort(function(f1, f2) { // f1, f2

我尝试使用过滤器返回的值对数组进行排序。调试时,我看到过滤器不返回字符串,而是
TrustedValueHolderType
。。。因此,这种方法不起作用

如果我使用本机的
orderByFilter
而不是
Array.prototype.sort
,我会得到同样的行为

function orderFamilies(families) {
            var ordered = families.sort(function(f1, f2) {
                // f1, f2 are strings
                // translateFamilyFilter is stateless
                var f1Translated = translateFamilyFilter(f1);
                // var f1Translated = translateFamilyFilter(f1).toString() works but I'm not sure if it's viable
                var f2Translated = translateFamilyFilter(f2);
                return f1Translated - f2Translated;
            });
            return ordered;
}

families = [ 'Security', 'Environment', 'Professional'];
translateFamily
是一个自定义筛选器,它转换其翻译键中的姓氏,然后使用
$translate.instant
(因此这里没有异步操作)

我做错了什么


谢谢

发布
系列
值什么过滤器<代码>$translate?您如何使用它?使用
族的内容和我的自定义过滤器进行编辑