在v_bind:class中调用方法不起作用(Vue JS)

时间:2019-09-23 10:55:21

标签: javascript php laravel vue.js

Posts.vue组件中,我执行了两种方法来检索帖子,获取ImageUsername之类的帖子创建者信息,以及检查帖子是否被喜欢

除最后一种方法外,一切都正常运行。

喜欢某个帖子时,它会添加“活动”类,因此我创建了isPostLiked()方法,并且它只返回true或false(boolean)。

模板看起来像

<button class="btn love button-circle" v-bind:class="{'active': isPostLiked(item)}" v-on:click="likePost(item, index)">
    <i class="fas fa-heart"></i>
</button>

方法类似于 this

isPostLiked(post) {
    if (this.auth) {
        axios.get(`/api/getpostlikestatus/${post.id}`)
            .then(res=>{
                return (res.data === 1);
            });
    } else {
        return false;
    }
}

我尝试使用v-if将其移出类,但仍然无法正常工作,该方法有效,因为我试图提醒其结果,并且给出了true / false

为什么我会遇到这个问题?该代码没有任何错误。

0 个答案:

没有答案