我一直在創建一個論壇,用戶可以點擊一個按鈕。Vue中的類綁定
我想要實現的是,當用戶單擊一個按鈕時,我希望該按鈕被着色以顯示用戶已經喜歡像Laracast一樣的註釋。
我該怎麼辦呢?到目前爲止,我
<div class="Media--footer background">
<div class="Media--footer__left">
<button @click="addOrRemoveLikes(comment.id,auth_id)"
v-if="auth_id"
>
<-------------- Here -------------------->
<i class="fa fa-thumbs-o-up" :class={'liked': --HERE-- }></i> {{ comment.likes.length }}
</button>
<div v-else>
<button
style="border: 0; background:white;"
@click="promptLogin=true"
>
<i class="fa fa-thumbs-o-up"></i> {{ comment.likes.length }}
</button>
</div>
</div>
<div class="Media--footer__right" v-for="like in comment.likes">
<a href="/@{{ like.user.name }}">{{ like.user.name }}</a>
</div>
</div>
正如你可以看到我用的類綁定,我試圖指計算的道具,但我不知道我該怎麼辦它。此外,我傳遞一個AUTH_ID到component.So,好像我需要比較像
liked: function(){
return this.auth_id == like.user_id
}
但是,事情是我不能在這個參數傳遞(comment.likes我需要通過「喜歡」循環獲取user_id
對不起,如果我沒有讓自己清楚。任何幫助將不勝感激。提前感謝。
---- -----更新
我加入這個代碼,但沒有運氣......爲什麼不這項工作?
<button @click="addOrRemoveLikes(comment.id,auth_id)"
v-if="auth_id"
>
<i class="fa fa-thumbs-o-up" :class="{'liked': liked(comment.likes)}"></i> {{ comment.likes.length }}
</button>
Vue的實例
liked:function(likes){
var self = this
likes.forEach(function(like){
return self.auth_id == like.user_id
})
}