#vue.js #templates #vuejs2
#vue.js #шаблоны #vuejs2
Вопрос:
Можно ли вызвать тег компонента modalBlock
как данные?
<template>
<div v-html="modalBlock">
</div>
</template>
export default {
data() {
return {
modalBlock: `<general-modal
is-gray-bg="true">
<template v-slot:header>
<h3 v-text="modalHeader"></h3>
</template>
<template v-slot:body
v-if="isModalOpened">
<div v-if="fetchedGift">
<gift
:gift="JSON.stringify(fetchedGift)"
></gift>
</div>
<div v-else>
<div>
<gift-list></gift-list>
</div>
</div>
</template>
<template v-slot:txt>
<a class="link-blue">Choose</a>
</template>
</general-modal>`,
modalHeader: 'Choose gift',
isModalOpened: false,
fetchedGift: false
}
}
}
Комментарии:
1. вы можете использовать
<component />
элемент и установить:is
атрибут для объекта параметров, который использует ваш шаблон модального блока. вам нужно будет импортировать версию vue, в которой есть компилятор среды выполнения.2. вместо того, чтобы хранить его в данных .. вы можете создать отдельный компонент, а затем использовать его здесь с помощью <компонент v-bind:is=»имя_компонента»></component>