【发布时间】:2017-08-20 12:17:44
【问题描述】:
短版:
我在组件的方法中使用 HTML 生成一个字符串,但我不知道如何使用作用域 CSS 设置该 HTML 的样式,因为它缺少用于作用域的数据属性。
略长的版本:
我有一个名为 highlight 的函数,它接受一个字符串并返回一个 HTML 字符串,其中突出显示所有出现的搜索词,意思是被 <span class="match"> 包围。但是,由于我在字符串中手动执行此操作,因此该跨度没有获得我的 Vue 组件中的作用域 CSS 需要工作的特殊数据属性,因此我设置这些匹配样式的唯一方法是使我的 CSS没有范围,我不想这样做。是否有更特定于 Vue 的方式来执行此操作?
函数如下所示:
// Source: http://stackoverflow.com/a/280805/2874789
function highlight(data, search) {
return data.replace(
new RegExp("(" + preg_quote(search) + ")", 'gi'),
"<span class=match>$1</span>"
);
}
(preg_quote只是一个函数,用来转义需要转义的东西)
谢谢!
【问题讨论】:
标签: javascript vue.js vuejs2 vue-component