我正在写一个片段来评估用户的答案。如果他的回答是正确的,那么我最后会附加一个正确的图标。我创建了一个自定义指令来评估答案。但我一直遇到臭名昭著的错误:达到 10 个 $digest() 迭代。中止!错误。
这是我的部分快照,
<li ng-repeat="answer in practice.currentQuestion.answers" class="answer">
<label class="radio multiple answer-body" evaluate-me is-correct="{'isCorrect': answer.isCorrect}" >
<div class="answer-body pull-left" ng-bind-html-unsafe="answer.body|removeemptyparagraphs"></div>
</label>
</li>
</ul>
这是我的指令,
app.directive('evaluateMe', function() {
return {
restrict : 'A',
scope:{
answer: '=isCorrect'
},
link : function(scope, element, attrs) {
var prepend;
console.log(scope.answer.isCorrect);
if(scope.answer.isCorrect){
prepend = '<i class="student-sprite-1-right-icon-for-qus pull-right"></i>';
}else{
prepend = '<i class="student-sprite-1-cancel-icon-for-qus pull-right"></i>';
}
element.append(prepend);
}
};
});
据我了解,当您从视图或循环中间错误地更新模型时,会发生此错误。但在这种情况下,我只是在评估模型。最奇怪的部分是指令执行完成并将我的 HTML 字符串附加到 DOM 中。之后发生错误(请参阅屏幕截图)
注意:我参考了其他帖子,但我无法找到解决方案。
请帮我解决这个问题。