<v-template>
コンポーネントはテンプレートとして再利用できるマークアップを定義します。
Name | Type | Description |
---|---|---|
if | String | l このテンプレートを使うかどうかの条件。 |
name | String | テンプレートの名前、省かれた場合自動で生成される。 |
<v-template>
コンポーネントはListView componentの内部で要素をイテレートする際に使われます。
You can use v-template
to implement custom components that require a template or multiple templates.
v-template
はテンプレートの中に配置されたときは何も描写しません。代わりに、親要素に$templates
プロパティを追加します。この$templates
プロパティはTemplateBag
instanceです。
次に、v-template
は親要素の持つ個別のTemplateBag
インスタンスに自身を利用可能なテンプレートとして登録します。 Any existing 親要素に存在する全てのTemplateBag
インスタンスは再利用されます
TemplateBag
クラスTTemplateBag
クラスは複数のテンプレートを登録し、テンプレートに渡された要素と条件にしたがって適切なものを選択します。
テンプレートはKeyedTemplate
インターフェースに対応するオブジェクトとして保存されます。
selectorFn
プロパティselectorFn
は一つの引数を受け取る関数(single-parameter function)を返します。この引数には選択されたテンプレートの要素が入ります。
single-parameter functionはTemplateBag
インスタンスに登録された全てのテンプレートを見て、if
の条件にあった初めの要素ものを返します。一致するテンプレートがない場合はdefault
を返します。
Method | Description |
---|---|
registerTemplate(name: String, condition: String?, scopedFn: Function): void | 主に内部で使われます。 Registers templates in the TemplateBag instance.scopedFn はscoped slotを描写する関数である必要があります。 |
getConditionFn(condition: String): Function | 内部で使われます 与えられた条件を評価する関数を生成します。 |
getAvailable(): Array<String> | 利用可能なKeyedTemplates の配列を返します。 (テンプレートの名前の配列を返します) |
getKeyedTemplate(name: String): KeyedTemplate | 指定された名前のKeyedTemplate を返します。 |
getKeyedTemplates(): Array<KeyedTemplate> | TemplateBag に登録されている全てのKeyedTemplates の配列を返します。 |
patchTemplate(name: String, context: any, oldVnode: VNode?): View | 既存のVNode に対し与えられたcontext を使ってパッチ処理を行います。oldVnode がない場合は指定されたテンプレートで新たなVueインスタンスを生成します。 |