Font Awesome 无法使用 vue 正确更新

2023-12-01

我正在尝试使用 font-awesome 和 bulma 制作一个可点击的“星”图标,在 Vue 中的常规样式和实体样式(fas 和 far)之间切换,为了实现此目的,我有以下组件:

<template>
    <span v-if="isStarred" class="icon starred config-icon clickable-text" @click="unstar">
        <i class="far fa-star" title="Unstar Ranking"/>
    </span>
    <span v-else class="icon unstarred config-icon clickable-text" @click="star">
        <i class="fas fa-star" title="Star Ranking"/>
    </span>
</template>

价值isStarred正在正确更新,跨度元素也会相应更新。但是,那i在我完全重新加载页面之前,带有图标的元素不会更新。

我能够让这个工作与v-show代替v-if但我不明白为什么这行不通。


Vue 尝试尽可能高效地渲染元素,通常会重复使用它们,而不是从头开始渲染。但这并不总是理想的,因此 Vue 提供了一种方式让你说:“这两个元素是完全独立的 - 不要重复使用它们。”添加具有唯一值的键属性:

<i class="far fa-star" title="Unstar Ranking" key="unstared"/>
...
<i class="fas fa-star" title="Star Ranking" key="stared"/>

现在,每次切换时,这些 i 元素都会从头开始渲染。

您还可以使用类绑定更新您的类:

<span v-if="isStarred" v-bind:class="{starred: isStarred, unstarred: !isStarred}" class="icon config-icon clickable-text" @click="toggleStar">
    <i v-bind:class="{far: isStarred, fas: !isStarred}" class="fa-star" v-bind:title="title"/>
</span>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Font Awesome 无法使用 vue 正确更新 的相关文章

随机推荐

  • 如何使用可选搜索参数构建 where 子句

    页面中有四个字段可以说 EMPLOYEE ID DEPT LOCATION UNIT 用户可以输入任何字段值 所有字段值都是可选的 如果他输入EMPLOYEE ID那么查询应该返回与该相关的行EMPLOYEE ID 如果他只进入LOCATI
  • 这是什么错误-“IOError:[Errno 2]没有这样的文件或目录:'audio.flac'”,我正在尝试使用Python的谷歌语音识别API

    基本上我想将语音转换为文本 所以我尝试使用 python 的谷歌语音识别 api 这是我正在尝试运行的代码 from pygsr import Pygsr speech Pygsr speech record 3 duration in s
  • 为什么 Math.Round(2.5) 返回 2 而不是 3?

    在 C 中 结果为Math Round 2 5 is 2 应该是3 不是吗 为什么在 C 中是 2 首先 这无论如何都不会是 C 错误 它会是 NET 错误 C 是语言 它不决定如何Math Round已实施 其次 不 如果你读过the d
  • 使用 pyzbar 读取 python 中的模糊条形码

    我一直在尝试使用 Python 和 pyzbar 从图像中读取一些条形码 不幸的是 这些图像是在几个限制下从几英尺远的地方拍摄的 我无法将相机移动或变焦得更近 使用任何现有的 Python 库是否可以读取如此模糊的条形码 到目前为止 我已经
  • AdMob 未在 ionic/Angular 应用中加载广告

    我在投放广告时遇到一些问题 我无法思考为什么它不起作用 我安装了以下插件 com google playservices 19 0 0 适用于 Android 的 Google Play 服务 com rjfun cordova plugi
  • 使用 exit(1) 时释放内存,C++

    我正在做一项学校作业 我们被告知 每当我们有意见时 错误我们应该打印一条消息并退出程序 显然我使用 exit 1 但是 问题是我在使用这个函数时出现内存泄漏 我不明白为什么 我使用的每个变量都在堆栈上而不是在堆上 我应该做什么来防止这些内存
  • React:如何加载和渲染外部html文件?

    我使用 React 和 Redux 构建了一个小型博客应用程序 博客显示帖子页面 其中包含帖子的标题 作者 标签和描述 当单击标题或 阅读更多 按钮时 我想从本地项目的数据文件夹中加载并呈现一个包含所有帖子的相应帖子的 HTML 文件 Re
  • git checkout [commit-name] 与带点的比较

    有什么区别git checkout commit name and git checkout commit name 我看到第一个命令更改为分离的头状态 您可以从那里提交并继续创建一个新分支 我对第二个命令的作用感到困惑 它保留在主服务器上
  • 如何使用Fast Member将数据批量复制到列名不一致的表中?

    我有一个Person具有以下列名的表 身份证号 姓名 出生日期 我也有一个 poco 作为 public class Person public int Id get set public string Name get set publi
  • 画布宽度值不正确

    所以我认为代码
  • 检测页面上的任何内容是否正在动画化

    我知道关于 animated选择器 但目前正在遇到 可能是少数几个 旧版 IE 的性能问题 见图 我觉得这可能是我正在测试的方式ANY页面动画 目前我正在循环一个间隔 核心测试是 is animated This 这就是我担心的 但由于我不
  • 提交表单数据而不重新加载页面

    我尝试提交表单而不使用 jQuery 重新加载页面本身 但是数据没有显示 并且表单正在重新加载 这是不需要的 jQuery 代码 function submitFormData var firstval first val var seco
  • 如何转置 dask 数据框(将列转换为行)以实现整洁的数据原则

    TLDR 我从 dask bag 创建了一个 dask 数据框 dask 数据框将每个观察 事件 视为一列 因此 我没有为每个事件提供几行数据 而是为每个事件提供一列 目标是将列转置为行 就像 pandas 使用 df T 转置数据帧一样
  • SQL 连接和连接行

    我在两个表之间有多对多关系 Table God Restaurants包含我的餐馆 Table God RestaurantKat包含不同的类别 Table God RestKatReference包含两列 每列保存两个表的 id 以下语句
  • 使用 .htaccess 基于日期和名称的友好 URL

    我计划将我的博客从 wordpress com 上切换到在我自己的服务器上托管的我自己的网站上 当然 我想保留 WordPress 的链接结构 这样 WWW 上指向我博客的链接就不会中断 所以我的问题是 如何获得以下友好的 URL http
  • 如何在 MATLAB 中更改条形颜色

    我是编程新手 所以我正在学习 MATLAB 入门 我想知道如何更改 MATLAB 中条形图的颜色 这是我的脚本 有人可以帮忙吗 x 1 8 for y 20 30 40 50 60 70 80 bar x y if y lt 40 col
  • 使用 XIB 和以编程方式执行视图的优点和缺点

    我想决定是使用 XIB 更好还是完全使用代码设计我的视图 到目前为止 我已经读到 当您在界面生成器上设计视图时 它们是预先构建的 因此即使它们使用更多内存 用户也会感觉一切都更快 人们说使用代码做所有事情都比较困难 但我发现它同样容易 所以
  • 使用 Apache Beam 将插入流式传输到 BigQuery 时如何指定 insertId

    BigQuery 支持流式插入的重复数据删除 如何通过 Apache Beam 使用此功能 https cloud google com bigquery streaming data into bigquery dataconsisten
  • 使用jdom创建xml,如何设置standalone =“no”属性

    当我创建 jdom 文档 Document doc new Document 时 默认情况下我只在 xml 标头中看到版本和编码 如何添加独立属性以获得 在文档到达 JDOM 之前 XMLParser 通常会删除标头 我很确定你的意思是你正
  • Font Awesome 无法使用 vue 正确更新

    我正在尝试使用 font awesome 和 bulma 制作一个可点击的 星 图标 在 Vue 中的常规样式和实体样式 fas 和 far 之间切换 为了实现此目的 我有以下组件