精简版:
我在组件的方法中使用HTML生成一个字符串,我无法弄清楚如何使用作用域CSS来设置HTML样式,因为它缺少作用域的数据属性.
版本略长:
我有一个名为highlight的函数,它接受一个字符串并返回一个HTML字符串,其中所有出现的搜索词都被突出显示,意味着被< span class =“match”>包围.但是,由于我是在字符串中手动执行此操作,因此该跨度不会获得我的Vue组件中的作用域CSS需要工作的特殊数据属性,因此我对这些匹配进行样式设置的唯一方法是创建我的CSS没有范围,我不想这样做.是否有更多Vue特定的方式让我这样做?
该函数如下所示:
// Source: https://stackoverflow.com/a/280805/2874789
function highlight(data,search) {
return data.replace(
new RegExp("(" + preg_quote(search) + ")",'gi'),"
谢谢!
最佳答案
Dynamically Generated Content
DOM content created with v-html are not
affected by scoped styles,but you can still style them using deep
selectors.
似乎没有VueJS特定的方法.听起来你最好的选择是在高亮功能的输出中内嵌样式,或者使用全局类.
function highlight(data,search) {
return data.replace(
new RegExp("(" + preg_quote(search) + ")","
要么
function highlight(data,"
您也可以尝试深度选择器,但我自己并不熟悉它们.
原文地址:https://www.jb51.cc/js/429150.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。