前言

最近在做我的项目的时候遇到一个问题,在我的项目中应用了递归组件,我的项目运行时页面展现是齐全没有问题的,然而打包之后递归组件并没有解析,所以才有这篇文章来记录一下递归组件以及递归组件的注意事项。

什么是递归组件

递归组件:简略来说就是实现组件外部有调用本人的组件。
例如:

<template>    <div class="app-table-column" :class="tplClasses" @click="onCellClick">        <div class="app-table-column__label">            {{ column.label }}            <template v-if="tplSortable">                <template                    v-if="tplTableSort.key === column.key && tplTableSort.order"                >                    <i                        :class="table.iconsClassMap.sortIconAsc"                        v-if="tplTableSort.order === 'asc'"                    ></i>                    <i :class="table.iconsClassMap.sortIconDesc" v-else></i>                </template>                <i :class="table.iconsClassMap.sortIconNull" v-else></i>            </template>        </div>        <div            class="app-table-column__children"            v-if="(column.children || []).length"        >            <app-table-column                v-for="(child, childi) in column.children"                :key="childi"                :style="child.headStyles"                :column="child"            />        </div>    </div></template>
留神点

递归组件必须要给增加组件的name值,不然打包的我的项目无奈将递归的组件解析
例如:

@Component({ name: 'AppTableColumn' })