Как проверить пользователя, который отдал голос

Я хочу создать систему голосования, такую ​​как stackru, голосование работает хорошо, но я все еще ограничен добавлением класса, если пользователь дает голос.

У меня есть данные JSON, как это:

[{
    "id": 157,
    "questionvote": 
     [
        {
            "user": 6,
            "question": 157,
            "value": true
        },
        {
            "user": 3,
            "question": 157,
            "value": false
        }
      ]
 }]

Я использую Vue, и шаблон для голосования выглядит так:

  <span type="submit" @click='positif(upvote, q)' v-bind:class="{ on: classVote }" class="vote"> </span>

и я хочу проверить, добавлен ли пользователь, который когда-либо голосовал по этому вопросу, тогда голосование класса

classVote: function () {
   return {
     /// how to check it
   }
}

Как мне написать это, чтобы можно было условно определить класс?

1 ответ

Решение
<span type="submit" @click='positif(upvote, q)' v-bind:class="classUpVote(q)" class="vote"> </span>

В методах:

methods:{
 classUpVote: function (q) {
  var qvote = q.questionvote
  var activeuser = this.usernow /// get current user
  var hasMatch = false

  for (var i = 0; i < qvote.length; ++i) {
   var quest = qvote[i];

   if(quest.user == activeuser && quest.value == true){
     hasMatch = true;
     break;
   }
  }

  return {
    on: hasMatch
  }
}
}
Другие вопросы по тегам