Skip to content

enable <template> as component root element when it contains only one logical nodeΒ #5758

@caikan

Description

@caikan

What problem does this feature solve?

From compiling template error message:
Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead.
But Cannot use as component root element because it may contain multiple nodes.

So I can't use <template> as component root element even if it contains only one node.

What does the proposed API look like?

Allow the following code as component root.

<template v-if="conditionA">
	<div v-if="conditionC"></div>
	<div v-else-if="conditionD"></div>
	<div v-else></div>
</template>
<template v-else>
	<div></div>
</template>

Do not allow the following code as component root.

<template>
	<div v-if="conditionA"></div>
	<div v-if="conditionB"></div>
</template>

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions