技术文摘
Vue3 实现文章内容多个关键词标记高亮的方法
2025-01-10 20:11:46 小编
在Vue 3开发中,实现文章内容多个关键词标记高亮是一个常见需求,能够显著提升用户查找关键信息的效率。接下来为大家详细介绍具体的实现方法。
我们需要明确实现思路。在Vue 3项目里,要达成关键词高亮效果,核心在于对文章内容进行遍历和匹配,找到关键词后,将其替换为包含特殊样式(如添加高亮颜色的样式类)的标签元素。
创建一个Vue组件用于处理高亮逻辑。在组件的模板部分,我们可以使用Vue 3的响应式数据绑定语法,将文章内容和关键词数组进行绑定展示。假设我们有一个data属性 articleContent 存放文章内容,keywords 数组存放需要高亮的关键词。
<template>
<div>
<div v-html="highlightedContent"></div>
</div>
</template>
<script setup>
import { ref } from 'vue';
const articleContent = ref('这是一篇示例文章,包含关键词高亮的相关内容');
const keywords = ref(['关键词', '高亮']);
const highlightedContent = ref('');
const highlightKeywords = () => {
let content = articleContent.value;
keywords.value.forEach(keyword => {
const regex = new RegExp(keyword, 'gi');
content = content.replace(regex, `<span class="highlight">${keyword}</span>`);
});
highlightedContent.value = content;
};
// 在组件挂载时调用
highlightKeywords();
</script>
<style scoped>
.highlight {
background-color: yellow;
color: red;
}
</style>
上述代码中,highlightKeywords 方法遍历关键词数组,使用正则表达式对每个关键词进行全局匹配,并将匹配到的关键词替换为带有 highlight 类的 <span> 标签。这个类在样式部分定义了高亮的样式,如黄色背景和红色文本。
通过这种方式,我们在Vue 3中轻松实现了文章内容多个关键词标记高亮的功能。无论是在博客系统、文档展示等场景,该方法都能很好地满足用户对关键信息的快速定位需求,提升用户体验。在实际应用中,还可以进一步优化,比如从接口获取文章内容和关键词等,使功能更加灵活和实用。
- MySQL 中列转行与行转列的操作代码实现
- MySQL FLOAT 精度不准确问题剖析
- MyBatis-Plus 查不到数据而 SQL 能查到的问题排查与解决
- MySQL 中复制表结构与数据的五种方法
- MySQL 分组后怎样获取每组最新的一条记录
- MySQL.user 表中查看数据库所有用户信息的 SQL 语句
- MySQL 自然连接查询的实现示例
- MySQL 低权限提权之法
- MySQL 中聚簇索引和非聚簇索引的实现
- MySQL Regexp 实现多个字符串匹配
- SQL Server 中计算两个时间差的示例代码
- MySQL 中当前读与快照读的差异
- SQL 快速删除数百万行数据的实践纪要
- SQL 临时表创建的两种方式
- GreatSQL 中 SQL 里 HINT 语法修改会话变量的使用方法