Kurzversion:Vue.js: Wie kann ich dynamisch erstelltes HTML benutzen?
Ich bin in einer Komponente Methode einen String mit HTML zu erzeugen, und ich kann nicht herausfinden, wie die HTML mit CSS scoped, um Stil, weil es das Datenattribut für Scoping fehlt.
Etwas längere Version:
Ich habe eine Funktion namens Highlight, das einen String und gibt einen HTML-Zeichenfolge mit allen Vorkommen eines Suchbegriffs markiert ist, von einem <span class="match">
umgeben Bedeutung hat. Da dies jedoch manuell in einer Zeichenfolge ausgeführt wird, erhält diese Spalte nicht das spezielle Datenattribut, das der bereichsspezifische CSS-Code in meiner Vue-Komponente benötigt. Daher besteht die einzige Möglichkeit für das Formatieren dieser Übereinstimmungen darin, mein CSS zu erstellen nicht beschränkt, was ich nicht tun möchte. Gibt es eine mehr Vue-spezifische Möglichkeit für mich, dies zu tun? Die Funktion sieht wie folgt aus:
// 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 ist nur eine Funktion, die Dinge entkommt, die maskiert werden müssen)
Dank!