相关疑难解决方法(0)

Angular:过滤器中的无限摘要循环

我正在编写一个自定义角度过滤器,随机大写传递给它的输入.

这是代码:

angular.module('textFilters', []).filter('goBananas', function() {
  return function(input) {

    var str = input;
    var strlen = str.length;

    while(strlen--) if(Math.round(Math.random())) {
      str = str.substr(0,strlen) + str.charAt(strlen).toUpperCase() + str.substr(strlen+1);
    }

    return str;
  };
});
Run Code Online (Sandbox Code Playgroud)

我这样称呼它是这样的:

    <a class='menu_button_news menu_button' ng-href='#/news'>
        {{"News" | goBananas}}
    </a>
Run Code Online (Sandbox Code Playgroud)

它可以工作,但在我的控制台中我看到了一个rootScope:infdig(无限摘要)循环.

我很难理解为什么会这样,以及我可以做些什么来解决它.如果我理解正确,这是因为此函数调用了超过5个摘要动作.但输入只被过滤器调用一次,对吧?

任何帮助赞赏.

angularjs

5
推荐指数
2
解决办法
3611
查看次数

标签 统计

angularjs ×1