v-template

<v-template>コンポーネントはテンプレートとして再利用できるマークアップを定義します。

Props

NameTypeDescription
ifStringl このテンプレートを使うかどうかの条件。
nameStringテンプレートの名前、省かれた場合自動で生成される。

基本的な使い方

<v-template>コンポーネントはListView componentの内部で要素をイテレートする際に使われます。

Advanced usage

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を返します。

Available methods

MethodDescription
registerTemplate(name: String, condition: String?, scopedFn: Function): void主に内部で使われます。
Registers templates in the TemplateBag instance.
scopedFnscoped 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インスタンスを生成します。
Contributors