简体   繁体   English

如何从 Vue.js2 上的未命名插槽获取组件实例

[英]How get component instance from unnamed slots on Vue.js2

I have next template:我有下一个模板:

<TableComponent>
    <TableColumn v-bind:field="'firstName'" v-bind:label="'First Name">
</TableColumn>

How i can get component instances of TableColumn ?如何获取TableColumn的组件实例?

On TableComponent I have next mounted method:在 TableComponent 我有下一个mounted方法:

mounted () {
    const columnComponents = this.$slots.default
    .filter(column => column.componentInstance)
    .map(column => column.componentInstance)

    console.info(columnComponents)
},

But on console info I got empty array.但是在控制台信息上我得到了空数组。 How I can get TableColumn props?如何获得TableColumn道具?

Use a ref使用ref

<TableComponent>
    <TableColumn ref="tableColumn" v-bind:field="'firstName'" v-bind:label="'First Name">
</TableColumn>

and then接着

mounted() {
    this.$nextTick(() => {
        const col = this.$refs.tableColumn;
    });
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM