通过v-if切换之后,这两个图标样式并没有变,始终都是第一个?应该怎么改?

发布于 2022-09-11 15:29:57 字数 1149 浏览 14 评论 0

通过v-if切换之后,这两个图标样式并没有变,始终都是第一个
<i style="width: 14px; height: 14px;" class="far fa-star"></i>
<i style="width: 14px; height: 14px;" class="fas fa-star"></i>
 <span id="span1" v-if="isCollected===false" @click="toCollection">
                      <!--<font-awesome-icon-->
                        <!--style="width: 14px; height: 14px;"-->
                        <!--:icon="['far','star']" />-->
                        <i style="width: 14px; height: 14px;" class="far fa-star"></i>
                      <span>收藏</span>
                    </span>
                    <span id="span2" v-if="isCollected===true" @click="toCancel">
                      <!--<font-awesome-icon-->
                        <!--style="width: 14px; height: 14px;"-->
                        <!--:icon="['fas','star']" />-->
                        <i style="width: 14px; height: 14px;" class="fas fa-star"></i>
                      <span>已收藏</span>
                    </span>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

月棠 2022-09-18 15:29:57

vue 调试工具看下吧。点击事件里面都是怎么写的?

toCollection() {
    this.isCollected = false;
}
toCancel() {
    this.isCollected = true;
}

这样应该是没问题的。
另外有两点建议:
1.为什么不用v-if else ,而去弄两个v-if ?
2.这个完全能用一个块实现.... 一个点击事件控制(动态class,三元表达式)

季末如歌 2022-09-18 15:29:57

建议重新排下版,缩进一下,另外布尔值可以直接用v-if判断。
样式没有变首先可以先看一下class的值有没有变,若有改变再检查下farfas是不是用的就是同一个图标,若没有改变检查isCollected的值有没有变化,基本问题原因就是这几个地方了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文