Angularjs 已达到$digest迭代次数。带有ng事件的简单示例
此示例记录每个用户的单击次数。该复选框显示年龄/姓名。单击该复选框时,我希望更新计数器。单击年龄或姓名时,我还希望更新计数器 复选框ng click函数是$digest迭代出现问题的地方。如果我从这个函数中删除$scope.counter++,它就可以正常工作。app.js的第32行 我认为这是因为$scope.counter导致了一个新的摘要循环,该循环导致调用$scope.clicked函数,以此类推。然而,我想不出我应该怎样做才能增加它一次 您可以在这里找到示例: 我也会在这里发布代码Angularjs 已达到$digest迭代次数。带有ng事件的简单示例,angularjs,Angularjs,此示例记录每个用户的单击次数。该复选框显示年龄/姓名。单击该复选框时,我希望更新计数器。单击年龄或姓名时,我还希望更新计数器 复选框ng click函数是$digest迭代出现问题的地方。如果我从这个函数中删除$scope.counter++,它就可以正常工作。app.js的第32行 我认为这是因为$scope.counter导致了一个新的摘要循环,该循环导致调用$scope.clicked函数,以此类推。然而,我想不出我应该怎样做才能增加它一次 您可以在这里找到示例: 我也会在这里发布代码
<p>Click Count: {{clickCount}}.</p>
<table>
<tbody>
<tr>
<td></td>
<td>Name</td>
<td>Age</td>
</tr>
<tr ng-repeat="row in testData">
<td>
<label class="checkbox">
<input type="checkbox" ng-model="row.check" ng-checked="clicked(row)" />
</label>
</td>
<td>
<span ng-show="row.show" class="reason-show-hide" ng-click="nameClicked(row.name)">{{row.name}}</span>
</td>
<td>
<span ng-show="row.show" class="reason-show-hide" ng-click="ageClicked(row.age)">{{row.age}}</span>
</td>
</tr>
</tbody>
</table>
那么
问题在第33行,您有:
<input type="checkbox" ng-model="row.check" ng-checked="clicked(row)" />
但我认为应该是这样
<input type="checkbox" ng-model="row.check" ng-click="clicked(row)" />
ng checked是checked属性的Angular指令,而不是用于设置/取消设置复选框的事件处理程序,因此它由循环中的Angular调用和计算
仅此一项更改即可生效:
非常感谢你。这开始是一个尝试动画的练习,但现在转到为什么要这样做。你的解释有道理。
<input type="checkbox" ng-model="row.check" ng-click="clicked(row)" />