Skip to content

Cannot have v-if and Async component together #3560

@stardustxx

Description

@stardustxx

Version

3.0.11

Reproduction link

https://github.com/stardustxx/vite-ssr-issue

Steps to reproduce

yarn && yarn dev to see it in your browser
You may see text like App and Async component but will see error in the console

Particularly the following code in App.vue

<template>
  <h1 v-if="mounted">App</h1>

  <Async />
</template>

Async is a component defined by defineAsyncComponent
If you move the h1 to be below Async, h1 will not be rendered due to the error. Removing the h1 or the v-if condition solves the problem

What is expected?

No warning or errors reported and components are rendered correctly

What is actually happening?

Encountered error like the following and stops the rendering

Uncaught (in promise) TypeError: Cannot read property 'emitsOptions' of null
    at shouldUpdateComponent (runtime-core.esm-bundler.js:1041)
    at updateComponent (runtime-core.esm-bundler.js:4230)

Please let me know if it's a vite issue then I can post it there, thank you

Metadata

Metadata

Assignees

No one assigned

    Labels

    ❗ p4-importantPriority 4: this fixes bugs that violate documented behavior, or significantly improves perf.🐞 bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions