Vue3使用v-html實現(xiàn)文本關(guān)鍵詞變色處理
首先看應(yīng)用場景
這有一段文本內(nèi)容,是項目的簡介,想要實現(xiàn)將文本中的關(guān)鍵詞進行變色處理

有如下關(guān)鍵詞

實現(xiàn)思路
遍歷文本內(nèi)容,找到關(guān)鍵詞,并使用某種方法更改其字體樣式。經(jīng)過搜尋資料決定采用v-html實現(xiàn),但是v-html本身并不安全,有安全性風(fēng)險且影響性能,所以謹(jǐn)慎使用。
想詳細了解的同學(xué)的同學(xué)可以看一下官網(wǎng)的介紹
實現(xiàn)代碼
//存儲結(jié)果
const introduction_content = ref('')
//定義函數(shù)
const updateColor = function (content: string) {
let keywords = ['導(dǎo)師:', '關(guān)聯(lián)比賽:', '獲得成就:', '未來發(fā)展:', '獎金:']
const result = ref(content) // 初始值為原始內(nèi)容
//本項目的需求是根據(jù)項目狀態(tài)動態(tài)變更顏色
const color = ref(
detailData.value!.status == 0
? 'rgba(7, 193, 96, 1)'
: detailData.value!.status == 1
? 'rgba(250, 157, 59, 1)'
: detailData.value!.status == 2
? 'rgba(250, 81, 81, 0.5)'
: ''
)
// 遍歷每個關(guān)鍵詞并進行替換
keywords.forEach((keyword) => {
const regex = new RegExp(keyword, 'gi')
// 每次替換都基于當(dāng)前的 result.value
result.value = result.value.replace(
regex,
`<span style="color: ${color.value};font-size:15px;">${keyword}</span>`
)
})
introduction_content.value = result.value
}
需要注意的是,如果需要更改字體大小,不能使用rpx等,需要使用px
可以輸出introduction_content看一下,結(jié)果如下
xx項目簡介 <span style="color: rgba(7, 193, 96, 1);font-size:15px;">導(dǎo)師:</span>?xxx <span style="color: rgba(7, 193, 96, 1);font-size:15px;">關(guān)聯(lián)比賽:</span>?建模 <span style="color: rgba(7, 193, 96, 1);font-size:15px;">獎金:</span>?100
到此這篇關(guān)于Vue3使用v-html實現(xiàn)文本關(guān)鍵詞變色處理的文章就介紹到這了,更多相關(guān)Vue3 v-html關(guān)鍵詞變色內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于keep-alive路由多級嵌套不生效的解決方案
本文主要介紹了關(guān)于keep-alive路由多級嵌套不生效的解決方案,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
使用Vue3和ApexCharts實現(xiàn)交互式3D折線圖
ApexCharts 是一個功能強大的 JavaScript 庫,用于創(chuàng)建交互式、可定制的圖表,在 Vue.js 中,它可以通過 vue3-apexcharts 插件輕松集成,本文給大家介紹了使用Vue3和ApexCharts實現(xiàn)交互式3D折線圖,需要的朋友可以參考下2024-06-06
如何利用SpringBoot與Vue3構(gòu)建前后端分離項目
在當(dāng)前的互聯(lián)網(wǎng)時代,前后端分離架構(gòu)已經(jīng)成為構(gòu)建應(yīng)用系統(tǒng)的主流方式,本文將詳細介紹如何利用 SpringBoot 與 Vue3 構(gòu)建一個前后端分離的項目,感興趣的小伙伴可以了解下2025-04-04
vue使用JSON編輯器:vue-json-editor詳解
文章介紹了如何在Vue項目中使用JSON編輯器插件`vue-json-editor`,包括安裝、引入、注冊和使用示例,通過這些步驟,用戶可以在Vue應(yīng)用中輕松實現(xiàn)JSON數(shù)據(jù)的編輯功能,文章最后呼吁大家支持腳本之家2025-01-01
vue+elementUI實現(xiàn)點擊左右箭頭切換按鈕功能
這篇文章主要介紹了vue+elementUI實現(xiàn)點擊左右箭頭切換按鈕功能,樣式可以根據(jù)自己需求改動,感興趣的朋友可以參考下實現(xiàn)代碼2024-05-05

