Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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
Javascript Can';t将$scope变量传入角度过滤器时发生插值错误_Javascript_Angularjs_Ionic Framework_Interpolation_Angularjs Filter - Fatal编程技术网

Javascript Can';t将$scope变量传入角度过滤器时发生插值错误

Javascript Can';t将$scope变量传入角度过滤器时发生插值错误,javascript,angularjs,ionic-framework,interpolation,angularjs-filter,Javascript,Angularjs,Ionic Framework,Interpolation,Angularjs Filter,我有一个角度过滤器,它通过检查数组中是否存在用户id将用户id转换为用户图像url,并返回相应的图像url,该数组随过滤器一起传递。 过滤器正在工作,ng repeat列表显示了正确的图像url,但我的控制台中有2个错误。 第一个错误在第4行,第二个错误在ionic.bundle.js:13380:32中 错误: 错误:undefined不是对象(正在计算'members.length')错误: [$interpolate:interr]无法插入:{{{participant.atternate

我有一个角度过滤器,它通过检查数组中是否存在用户id将用户id转换为用户图像url,并返回相应的图像url,该数组随过滤器一起传递。

过滤器正在工作,ng repeat列表显示了正确的图像url,但我的控制台中有2个错误。 第一个错误在第4行,第二个错误在ionic.bundle.js:13380:32中

错误:

错误:undefined不是对象(正在计算'members.length')
错误: [$interpolate:interr]无法插入:{{{participant.atternate\u id| idToImage:clubMembers}}TypeError:undefined不是对象 (评估“members.length”)


HTML:

{{participant.atternate_id | idToImage:clubMembers}}中的clubMemers是一个数组,如下例所示,从外部源检索:

$scope. clubMembers = [
   {"id":1234,"profile":"https://domain.net/pictures/1.jpg"},
   {"id":12345,"profile":"https://domain.net/pictures/3.jpg"},
   {"id":12346,"profile":"https://domain.net/pictures/4.jpg"}
]

我认为当
成员
为空时,您的筛选器不会处理该条件,因为当您不处理
成员时,长度
将出错,代码执行将在该点停止

过滤器

app.filter('idToImage', function () {
   return function (id, members) {
       if(!members) return; //return nothing in this case
       var curMember = id;
        var len = members.length - 1; //checking above if before processing members
        while(len >= 0){
           if(curMember >= members[len].id){
               return members[len].profile;
           }
           len--;
        }
    }
});

我认为当
成员
为空时,您的筛选器不会处理该条件,因为当您不处理
成员时,长度
将出错,代码执行将在该点停止

过滤器

app.filter('idToImage', function () {
   return function (id, members) {
       if(!members) return; //return nothing in this case
       var curMember = id;
        var len = members.length - 1; //checking above if before processing members
        while(len >= 0){
           if(curMember >= members[len].id){
               return members[len].profile;
           }
           len--;
        }
    }
});

调用筛选器时是否可以检查参数值?调用筛选器时是否可以检查参数值?
app.filter('idToImage', function () {
   return function (id, members) {
       if(!members) return; //return nothing in this case
       var curMember = id;
        var len = members.length - 1; //checking above if before processing members
        while(len >= 0){
           if(curMember >= members[len].id){
               return members[len].profile;
           }
           len--;
        }
    }
});