Angularjs JavaScript运行时错误:已达到10$digest()次迭代。流产

Angularjs JavaScript运行时错误:已达到10$digest()次迭代。流产,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,我正在尝试使用bootstrap 2.3.x和angularjs为我的网页创建一个菜单栏,如下所示 <div class="container" > <div class="navbar"> <div class="nav-collapse collapse" > <ul class="nav pull-right"> <li ng-repeat="menu in

我正在尝试使用bootstrap 2.3.x和angularjs为我的网页创建一个菜单栏,如下所示

<div class="container" >
    <div class="navbar">
        <div class="nav-collapse collapse" >
            <ul class="nav pull-right">
                <li ng-repeat="menu in headerMenus" class={{menu.active}}>
                    <a href="#" ng-click="MenuClicked(menu)">{{menu.name}}</a>
                </li>
            </ul>
        </div>
    </div>
</div>
现在,在我点击菜单几次后,angular抛出以下错误:

JavaScript运行时错误:已达到10$digest迭代。流产! 在最近5次迭代中触发的观察者:[[fn:function $locationWatch{\n var oldUrl=$browser.url;\n var currentReplace=$location.$$replace;\n\n如果!changeCounter|| oldUrl!=$location.absUrl{\n changeconter++;\n $rootScope.$evalAsyncfunction{\n如果 $rootScope.$broadcast'$locationChangeStart',$location.absUrl, oldUrl。\n默认阻止{\n $location.$$parseoldUrl;\n}其他{\n $browser.url$location.absUrl,currentReplace;\n afterLocationChangeoldUrl;\n}\n};\n}\n $location.$$replace=false;\n\n返回changeCounter;\n}; newVal:8;oldVal:7],[fn:function$locationWatch{\n var oldUrl=$browser.url;\n var currentReplace= $location.$$replace;\n\n如果!changeCounter | | oldUrl= $location.absUrl{\n changeconter++;\n $rootScope.$evalAsyncfunction{\n如果 $rootScope.$broadcast'$locationChangeStart',$location.absUrl, oldUrl。\n默认阻止{\n $location.$$parseoldUrl;\n}其他{\n $browser.url$location.absUrl,currentReplace;\n afterLocationChangeoldUrl;\n}\n};\n}\n $location.$$replace=false;\n\n返回changeCounter;\n}; newVal:9;oldVal:8],[fn:function$locationWatch{\n var oldUrl=$browser.url;\n var currentReplace= $location.$$replace;\n\n如果!changeCounter | | oldUrl= $location.absUrl{\n changeconter++;\n $rootScope.$evalAsyncfunction{\n如果 $rootScope.$broadcast'$locationChangeStart',$location.absUrl, oldUrl。\n默认阻止{\n $location.$$parseoldUrl;\n}其他{\n $browser.url$location.absUrl,currentReplace;\n afterLocationChangeoldUrl;\n}\n};\n}\n $location.$$replace=false;\n\n返回changeCounter;\n}; newVal:10;oldVal:9],[fn:function$locationWatch{\n var oldUrl=$browser.url;\n var currentReplace= $location.$$replace;\n\n如果!changeCounter | | oldUrl= $location.absUrl{\n changeconter++;\n $rootScope.$evalAsyncfunction{\n如果 $rootScope.$broadcast'$locationChangeStart',$location.absUrl, oldUrl。\n默认阻止{\n $location.$$parseoldUrl;\n}其他{\n $browser.url$location.absUrl,currentReplace;\n afterLocationChangeoldUrl;\n}\n};\n}\n $location.$$replace=false;\n\n返回changeCounter;\n}; newVal:11;oldVal:10],[fn:function$locationWatch{\n var oldUrl=$browser.url;\n var currentReplace= $location.$$replace;\n\n如果!changeCounter | | oldUrl= $location.absUrl{\n changeconter++;\n $rootScope.$evalAsyncfunction{\n如果 $rootScope.$broadcast'$locationChangeStart',$location.absUrl, oldUrl。\n默认阻止{\n $location.$$parseoldUrl;\n}其他{\n $browser.url$location.absUrl,currentReplace;\n afterLocationChangeoldUrl;\n}\n};\n}\n $location.$$replace=false;\n\n返回changeCounter;\n}; 新值:12;旧值:11]]

如果我注释掉ng,点击菜单,我没有问题。有人能帮我找出我做错了什么吗

编辑


当我注释掉href=或ng单击时,这个问题就消失了,但两者都失败了。

您的控制器定义看起来有点不正确。尝试使用以下方法:

myApp.controller('ctrl', function ($scope) {
   // ...
});

你是对的,这是我帖子中的错误。这个问题与href=和ng click一起使用有关。啊,我明白了。您需要额外的href吗?请查看:
myApp.controller('ctrl', function ($scope) {
   // ...
});