Subscribe on changes!

Cannot have v-if and Async component together

avatar
Apr 7th 2021

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