Встроенные шаблоны (inline templates) — это альтернативный подход к определению шаблонов компонентов непосредственно в HTML разметке, а не в отдельном блоке <template> или файле .vue.
Встроенные шаблоны позволяют:
<div id="app">
<my-component inline-template>
<div>
<p>{{ message }}</p>
<button @click="update">Обновить</button>
</div>
</my-component>
</div>
<script>
new Vue({
el: '#app',
components: {
'my-component': {
data() {
return { message: 'Привет из встроенного шаблона!' }
},
methods: {
update() {
this.message = 'Обновлено!'
}
}
}
}
})
</script>
Быстрое прототипирование:
Интеграция с legacy-кодом:
Динамические шаблоны:
Для похожих задач можно использовать:
<component :is="currentComponent"></component>
render(h) {
return h('div', this.message)
}
<div id="app">
<user-card inline-template :user="currentUser">
<div class="card">
<h3>{{ user.name }}</h3>
<p>Email: {{ user.email }}</p>
<p v-if="user.isAdmin">Администратор</p>
</div>
</user-card>
</div>
<script>
new Vue({
el: '#app',
data: {
currentUser: {
name: 'Иван Иванов',
email: 'ivan@example.com',
isAdmin: true
}
}
})
</script>
Важно помнить:
Встроенные шаблоны — это мощный, но редко используемый инструмент Vue.js, который позволяет определять шаблоны компонентов прямо в HTML. Хотя они удобны для быстрого прототипирования и интеграции с legacy-кодом, для серьезных проектов лучше использовать стандартные подходы с отдельными шаблонами или однофайловыми компонентами.