相关疑难解决方法(0)

如何以编程方式创建Vue.js插槽?

我有一个带插槽的以下组件:

<template>
    <div>
        <h2>{{ someProp }}</h2>
        <slot></slot>
    </div>
</template>
Run Code Online (Sandbox Code Playgroud)

出于某些原因,我必须手动实例化此组件.这就是我这样做的方式:

const Constr = Vue.extend(MyComponent);
const instance = new Constr({
    propsData: { someProp: 'My Heading' }
}).$mount(body);
Run Code Online (Sandbox Code Playgroud)

问题是:我无法以编程方式创建插槽内容.到目前为止,我可以创建基于字符串的简单插槽:

const Constr = Vue.extend(MyComponent);
const instance = new Constr({
    propsData: { someProp: 'My Heading' }
});

// Creating simple slot
instance.$slots.default = ['Hello'];

instance.$mount(body);
Run Code Online (Sandbox Code Playgroud)

问题是 - 如何以$slots编程方式创建并将其传递给我正在创建的实例new

注意:我没有使用完整版本的Vue.js(仅限运行时).所以我没有可用的Vue.js编译器来动态编译模板.

javascript vue.js vue-component vuejs2

13
推荐指数
2
解决办法
2804
查看次数

标签 统计

javascript ×1

vue-component ×1

vue.js ×1

vuejs2 ×1