Angularjs JavaScript运行时错误:已达到10$digest()次迭代。流产
我正在尝试使用bootstrap 2.3.x和angularjs为我的网页创建一个菜单栏,如下所示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
<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) {
// ...
});