Vue のスコープ属性は、偶発的な干渉を避けるために一意のクラス名を追加することにより、CSS スタイルをコンポーネントに制限します。 Sass/Less プリプロセッサを使用して、スコープ付きスタイルを一意のクラス名を持つ CSS に変換し、CSS スタイルの分離、再利用性、明確さを実現します。ただし、パフォーマンスがわずかに低下する可能性があり、スタイルはコンポーネント内の要素にのみ適用できます。コンポーネントに独自の視覚スタイルがある場合、スタイルの競合を防ぐ必要がある場合、または再利用可能なコンポーネントを作成する場合は、スコープ付きを使用することをお勧めします。
Vue のスコープの原則
概要
スコープは次の 1 つです。 CSS スタイルの範囲を特定のコンポーネントに制限するために使用される Vue プロパティのメソッド。これにより、他のコンポーネントの CSS スタイルが誤ってこのコンポーネントに影響を与えることがなくなります。
Principle
Scoped は、scoped 属性を使用する各コンポーネントのルート要素に一意のクラス名を追加することによって機能します。このクラス名は Vue によって生成され、コンポーネントの CSS スタイルを他のコンポーネントの CSS スタイルから分離するために使用されます。
コンポーネントのテンプレートが解析されると、Vue はコンポーネントのスコープ付きスタイル ブロックをグローバル CSS スタイル シートに追加します。ただし、これらのスタイルはコンポーネントの一意のクラス名とともに使用されるため、そのコンポーネントとその子孫要素にのみ適用されます。
具体的な実装
Vue は Sass/Less プリプロセッサを使用してスコープ付きの実装を行います。コンパイル段階で、Vue はコンポーネントのスコープ指定されたスタイル ブロックを、一意のクラス名を持つ CSS スタイルに自動的に変換します。たとえば、コンポーネントのテンプレートが次の場合:
<code class="html"><template scoped> <span>Hello World</span> </template></code>
コンパイルされた CSS スタイルは次のとおりです:
<code class="css">.unique-class-name span { color: red; }</code>
利点
scoped を使用すると、次のようなメリットがあります。利点:
制限事項
scoped にはいくつかの制限もあります:
ベスト プラクティス
次の状況ではスコープ指定を使用することをお勧めします。
以上がVue のスコープの原則の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。