Options: Rendering
template
Szablon ciągu znaków dla komponentu.
Typ
tsinterface ComponentOptions { template?: string }
Szczegóły
Szablon dostarczony za pomocą opcji
template
zostanie skompilowany w locie w czasie wykonywania. Jest to obsługiwane tylko wtedy, gdy używana jest kompilacja Vue, która zawiera kompilator szablonów. Kompilator szablonów NIE jest zawarty w kompilacjach Vue, które mają w nazwie słoworuntime
, np.vue.runtime.esm-bundler.js
. Więcej szczegółów na temat różnych kompilacji można znaleźć w dist file guide.Jeśli ciąg zaczyna się od
#
, zostanie użyty jakoquerySelector
i użyjeinnerHTML
wybranego elementu jako ciągu szablonu. Pozwala to na tworzenie szablonu źródłowego przy użyciu natywnych elementów<template>
.Jeśli opcja
render
jest również obecna w tym samym komponencie,template
zostanie zignorowane.Jeśli główny komponent aplikacji nie ma określonej opcji
template
lubrender
, Vue spróbuje użyćinnerHTML
zamontowanego elementu jako szablonu.Uwaga dotycząca bezpieczeństwa
Używaj tylko zaufanych źródeł szablonów. Nie używaj zawartości dostarczonej przez użytkownika jako szablonu. Więcej szczegółów można znaleźć w Security Guide.
render
Funkcja, która programowo zwraca wirtualne drzewo DOM komponentu.
Typ
tsinterface ComponentOptions { render?(this: ComponentPublicInstance) => VNodeChild } type VNodeChild = VNodeChildAtom | VNodeArrayChildren type VNodeChildAtom = | VNode | string | number | boolean | null | undefined | void type VNodeArrayChildren = (VNodeArrayChildren | VNodeChildAtom)[]
Szczegóły
render
jest alternatywą dla szablonów łańcuchowych, która pozwala wykorzystać pełną programistyczną moc JavaScript do zadeklarowania wyjścia renderowania komponentu.Wstępnie skompilowane szablony, na przykład te w komponentach jednoplikowych, są kompilowane do opcji
render
w czasie kompilacji. Jeśli zarównorender
jak itemplate
są obecne w komponencie,render
będzie miał wyższy priorytet.Zobacz również
compilerOptions
Konfiguracja opcji kompilatora środowiska uruchomieniowego dla szablonu komponentu.
Typ
tsinterface ComponentOptions { compilerOptions?: { isCustomElement?: (tag: string) => boolean whitespace?: 'condense' | 'preserve' // default: 'condense' delimiters?: [string, string] // default: ['{{', '}}'] comments?: boolean // default: false } }
Szczegóły
Ta opcja konfiguracyjna jest respektowana tylko podczas korzystania z pełnej kompilacji (tj. samodzielnego
vue.js
, który może kompilować szablony w przeglądarce). Obsługuje te same opcje co app-level app.config.compilerOptions i ma wyższy priorytet dla bieżącego komponentu.Zobacz również app.config.compilerOptions
slots
Opcja wspomagająca wnioskowanie o typie podczas programowego używania slotów w funkcjach renderowania. Obsługiwana tylko w wersji 3.3+.
Szczegóły
Wartość runtime tej opcji nie jest używana. Rzeczywiste typy powinny być zadeklarowane poprzez rzutowanie typów przy użyciu helpera typu
SlotsType
:tsimport { SlotsType } from 'vue' defineComponent({ slots: Object as SlotsType<{ default: { foo: string; bar: number } item: { data: number } }>, setup(props, { slots }) { expectType< undefined | ((scope: { foo: string; bar: number }) => any) >(slots.default) expectType<undefined | ((scope: { data: number }) => any)>( slots.item ) } })