2016-09-11 5 views
0

は、the documentationは言う:コンポーネントタグは常に空ですか?テンプレートの解析について

簡単な例では、動作するように見えるかもしれませんが、あなたはブラウザの検証の前に展開されて カスタム要素に依存することはできません。例えば。たとえmy-selectコンポーネントが最終的に <select>...</select>に展開されても、 <my-select><option>...</option></my-select>は有効なテンプレート ではありません。

これは私には不思議なことでした。カスタム要素の開始タグと終了タグの間にコンテンツを入れると便利なことはありますか?そのようなコンテンツは捨てられているようです。おそらくbeforeCompileコードの何か?

答えて

2

<slot>要素を使用すると、コンポーネント内のコンテンツを取得できます。詳細については、the docsを参照してください。

「この警告はVue 1.0にのみ適用されます。次期2.0リリースでは、テンプレートはDOMの外部でコンパイルされるため、カスタム要素はブラウザの検証前に常に展開されます。

1

捨てられません。 Josephが言ったように、それを<slot>と一緒に挿入することができます。無効なHTML構造を作成しないでください。

is属性を使用すると、コンポーネントで無効なHTML構造を使用する必要がある状況を処理できます。これは、テーブルで多くのことを起こる、あなたが使用します。

<table> 
    <tr is="my-component"> 

代わりの

<table> 
    <my-component> 

をあなたのコードを確実にするためにHTML準拠しています

関連する問題