Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.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 使用角度过滤器填充带有空占位符的集合,得到$digest无限循环错误_Javascript_Angularjs_Ng Repeat_Angular Filters - Fatal编程技术网

Javascript 使用角度过滤器填充带有空占位符的集合,得到$digest无限循环错误

Javascript 使用角度过滤器填充带有空占位符的集合,得到$digest无限循环错误,javascript,angularjs,ng-repeat,angular-filters,Javascript,Angularjs,Ng Repeat,Angular Filters,我们要求用户必须从一个集合中选择n条记录。UI必须为n条记录中的每一条显示空占位符,直到每条记录都被填满。为了解决这个问题,我尝试使用一个过滤器,用空占位符“填充”所选子集。然而,过滤器导致了一个无限的$digest循环,我不明白为什么或者如何解决它。无论如何,如果需要2个选项,我的过滤器可能看起来像这样 angular .module('TestApp',[]) .filter('selectedFltr',function(){ 返回函数(项目){ 开关(项目.长度){ 案例0: //无选择

我们要求用户必须从一个集合中选择n条记录。UI必须为n条记录中的每一条显示空占位符,直到每条记录都被填满。为了解决这个问题,我尝试使用一个过滤器,用空占位符“填充”所选子集。然而,过滤器导致了一个无限的$digest循环,我不明白为什么或者如何解决它。无论如何,如果需要2个选项,我的过滤器可能看起来像这样

angular
.module('TestApp',[])
.filter('selectedFltr',function(){
返回函数(项目){
开关(项目.长度){
案例0:
//无选择,返回两个空占位符
返回[{},{}];
案例1:
//一个选择,返回它加上一个空占位符
返回[items[0],{}];
违约:
//返回所有选择
退货项目;
}
};
});

{{item.id}
{{item.id}
我的例子是为了简单而设计的。例如,过滤器可能接受一个长度参数,并动态地构建结果集合。我意识到我可以将各种
ng if
ng show
/
ng hide
逻辑转储到视图中以解决此问题,但这感觉更干净了……如果我能让它工作的话。如果你有更好的解决方案,我将征求你的建议


(plnkr)我想做的…

wat在你的例子中不起作用?@zhilingtakutoxing如果你打开浏览器控制台,你会看到一个无限摘要循环错误列表,直到寻求帮助为止?是的,@tasseKATT我仍然想找到解决方法。看起来这应该是一个非常直截了当的方法,而且感觉这是一个解决我特殊问题的好方法。不过,我还没有取得任何进展,现在又回到了黑客的行列:(