Das bereichsbezogene Attribut in Vue beschränkt CSS-Stile auf Komponenten, indem es eindeutige Klassennamen anhängt, um versehentliche Interferenzen zu vermeiden. Es verwendet einen Sass/Less-Präprozessor, um bereichsbezogene Stile in CSS mit eindeutigen Klassennamen zu konvertieren und so die Isolierung, Wiederverwendbarkeit und Klarheit von CSS-Stilen zu ermöglichen. Dies kann jedoch zu einer geringfügigen Leistungseinbuße führen und der Stil kann nur auf Elemente innerhalb der Komponente angewendet werden. Es wird empfohlen, „scoped“ zu verwenden, wenn eine Komponente einen eindeutigen visuellen Stil hat, Stilkonflikte verhindert werden muss oder wiederverwendbare Komponenten erstellt.
Das Prinzip von Scoped in Vue
Übersicht
scoped ist eine Eigenschaft in Vue, die verwendet wird, um den Umfang von CSS-Stilen auf bestimmte Komponenten zu beschränken. Dadurch wird verhindert, dass sich CSS-Stile anderer Komponenten versehentlich auf diese Komponente auswirken.
Prinzip
Scoped wird implementiert, indem mithilfe des Attributs „scoped“ ein eindeutiger Klassenname an das Stammelement jeder Komponente angehängt wird. Dieser Klassenname wird von Vue generiert und dient dazu, die CSS-Stile einer Komponente von denen anderer Komponenten zu isolieren.
Wenn die Vorlage der Komponente analysiert wird, fügt Vue den bereichsbezogenen Stilblock der Komponente einem globalen CSS-Stylesheet hinzu. Diese Stile werden jedoch mit dem eindeutigen Klassennamen der Komponente verwendet, wodurch sichergestellt wird, dass sie nur für diese Komponente und ihre untergeordneten Elemente gelten.
Konkrete Implementierung
Vue verwendet den Sass/Less-Präprozessor, um den Gültigkeitsbereich zu implementieren. Während der Kompilierungsphase konvertiert Vue automatisch die bereichsbezogenen Stilblöcke der Komponente in CSS-Stile mit eindeutigen Klassennamen. Wenn die Vorlage einer Komponente beispielsweise so aussieht:
<code class="html"><template scoped> <span>Hello World</span> </template></code>
Der kompilierte CSS-Stil sieht so aus:
<code class="css">.unique-class-name span { color: red; }</code>
Vorteile
Die Verwendung von Scoped hat die folgenden Vorteile:
Einschränkungen
scoped hat auch einige Einschränkungen:
Best Practices
Es wird empfohlen, Scoped in den folgenden Situationen zu verwenden:
Das obige ist der detaillierte Inhalt vonDas Prinzip des Scoped in vue. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!