私はグローバルに登録することの主な利点は、あなたのコンポーネントは、すべてのコンポーネントに登録する必要なく、常に利用できるということです。独自のカスタムコンポーネントを登録していて、名前の衝突がないことがわかっている場合は、これは問題ありません。実際の問題は、複数のプロジェクトで再利用できるコンポーネントを記述している場合です。
たとえば、複数のプロジェクトで使用する予定のvue
にスター評価アプリを作成し、npm
で公開しているので、誰でもプロジェクトでコンポーネントを使用できます。メインコンポーネント自体には、別のコンポーネント(star
)が必要です。 star
をグローバルに登録すると、私の星評価コンポーネントを含むプロジェクトには、アプリケーション全体で利用できる「スター」という名前のグローバルコンポーネントが追加されます。ただし、starという独自のコンポーネントを既に登録していると、 、一つの成分を意味する他に上書きされます:あなたがそれらを必要としてあなたがコンポーネントを登録すると、登録コンポーネントは、独自のスコープに閉じ込められているので、
http://jsfiddle.net/krb23sq3/
、あなたは任意の名前の衝突を避けます。次の例では、両方の成分は、「メッセージ」が登録(両方が同じテンプレートを使用している)という名前のコンポーネントを有するが、それぞれは異なる「メッセージ」コンポーネントを指すので、出力の異なるメッセージ:
http://jsfiddle.net/24hwu7at/
をありがとう、それはかなり明確な説明です。任意のサイズ/メモリ/パフォーマンスの影響を認識していますか?グローバルに登録するかローカルに登録するか。 – andrei
私はJavaScriptエンジンの内部動作について専門家はいませんが、パフォーマンスの低下はごくわずかです。 –