У меня есть следующий компонент со слотом:
<template>
<div>
<h2>{{ someProp }}</h2>
<slot></slot>
</div>
</template>
По некоторым причинам я должен вручную создать экземпляр этого компонента. Вот как я это делаю:
const Constr = Vue.extend(MyComponent);
const instance = new Constr({
propsData: { someProp: 'My Heading' }
}).$mount(body);
Проблема в том, что я не могу программно создавать содержимое слотов. Пока что я могу создать простой слот на основе строк:
const Constr = Vue.extend(MyComponent);
const instance = new Constr({
propsData: { someProp: 'My Heading' }
});
// Creating simple slot
instance.$slots.default = ['Hello'];
instance.$mount(body);
Вопрос в том, как я могу создать $slots
программно и передать его экземпляру, который я создаю, используя new
?
Примечание. Я не использую полную сборку Vue.js (только во время выполнения). Поэтому у меня нет компилятора Vue.js для компиляции шаблона на лету.