Собственно читаю JSON и выполняю переборку элементов. Если выбрано больше `MaxAllowedChoice` то мне надо дисейблить остальные. Для этого я хочу создать динамическое свойство isDisabled. Динамическое потому что не хочу раздувать JSON.
Но видимо его не в том месте создаю т.к. у меня в консоли Vue.JS ругается на бесконечный цикл. Как мне правильно сделать обработку списка чекбоксов, чтобы можно было не больше трех элементов выделить. И можно было бы снять с элементов выделение и выделить другие.
processOneQuestion: function (question)
{
var isSelectedCount = 0;
for(var answer of question.answers)
{
answer.isDisabled = true; // вот создал
if(answer.isSelected)
{
isSelectedCount++;
}
if(question.MaxAllowedChoice == isSelectedCount)
{
console.log("isSelectedCount : " + isSelectedCount + " | question.MaxAllowedChoice: " + question.MaxAllowedChoice);
if(!answer.isSelected) // disable unselected
{
answer.isDisabled = true;
}
}
}
Правильно ли я понимаю, что бесконечный цикл получается из-за того, что в одном месте я меняю значение isDisabled на другое и потом делаю еще раз смену значения. А на каждое событие запускается цикл который видит что произошло изменение.
Если да, то как это обойти?