【问题标题】:How to add a Favorite - UnFavorite Button with vue.js 2?如何使用 vue.js 2 添加收藏夹 - 取消收藏按钮?
【发布时间】:2017-01-26 08:52:31
【问题描述】:

我的看法是这样的:

<div class="panel panel-default panel-store-info">
    ...
    <div class="favorite"> 
        <add-favorite-store :id-store="{{ $store->id }}"></add-favorite-store>
    </div>
    ....
</div>

我的组件是这样的:

<template>
    <a href="javascript:" class="btn btn-block btn-success" @click="addFavoriteStore($event)">
        <span class="fa fa-heart"></span>&nbsp;Favorite
    </a>
</template>

<script>
    export default{
        props:['idStore'],
        methods:{
            addFavoriteStore(event){
                event.target.disabled = true
                const payload= {id_store: this.idStore}
                this.$store.dispatch('addFavoriteStore', payload)
                setTimeout(function () {
                    location.reload(true)
                }, 1500);
            }
        }
    }
</script>

点击收藏按钮时,会调用laravel上的控制器

动作,我用的是vuex store

当单击按钮收藏夹时,我想将其更改为不喜欢的按钮。反之亦然。

我一直在寻找参考资料。但我还没有找到它。我是 vue.js 的新手

所以我请求你的帮助。

有人可以帮助我吗?

【问题讨论】:

标签: javascript laravel vue.js laravel-5.3 vuejs2


【解决方案1】:

如果您只是在寻找按钮中的文本更改,您可以将按钮上的文本保存在一个变量中,并在单击按钮时更改该变量,如下所示:

<template>
    <a href="javascript:" class="btn btn-block btn-success" @click="addFavoriteStore($event)">
        <span class="fa fa-heart"></span>&nbsp;{{idStore ? 'Unfavorite' : 'Favorite'}}
    </a>
</template>

<script>
    export default{
        props:['idStore'],
        data () {
        }
        methods:{
            addFavoriteStore(event){
                event.target.disabled = true
                const payload= {id_store: this.idStore}
                this.$store.dispatch('addFavoriteStore', payload)
                setTimeout(function () {
                    location.reload(true)
                }, 1500);
            }
        }
    }
</script>

【讨论】:

  • 当我点击收藏按钮时,它不会变成不喜欢的按钮。我在控制台中检查也没有错误。所以它不起作用
  • @mosestoh 我已将那条线向上移动,以便它可以反映。
  • 它有效。但是调用action并刷新页面后,又回到了收藏按钮
  • 是的,因为当您刷新时会重置此数据,您是否有其他变量可以根据这些变量决定显示哪些文本?
猜你喜欢
  • 2019-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多