vuejs / composition-api

Composition API plugin for Vue 2
https://composition-api.vuejs.org/
MIT License
4.19k stars 342 forks source link

使用watch时,利用vue-cli-service打包组件会出现 属性读取错误。 #830

Closed yangyinet closed 2 years ago

yangyinet commented 3 years ago

使用watch时,利用vue-cli-service打包组件后,引入打包后的js,使用组件会出现错误。

控制台错误信息如下: TypeError: Cannot read properties of null (reading 'config') at rt (umd.min.js?7d15:102) at Bt (umd.min.js?7d15:102) at Xt (umd.min.js?7d15:102) at setup (umd.min.js?7d15:102) at mergedSetupFn (vue-composition-api.esm.js?a6f4:2089) at eval (vue-composition-api.esm.js?a6f4:1862) at activateCurrentInstance (vue-composition-api.esm.js?a6f4:1782) at initSetup (vue-composition-api.esm.js?a6f4:1860) at VueComponent.wrappedData (vue-composition-api.esm.js?a6f4:1843) at getData (vue.runtime.esm.js?2b0e:4761)

在组件中取消watch,打包再使用就正常。

yangyinet commented 3 years ago

根据代码跟踪,是在 getVueConstructor 时未能获取到 vueConstructor。 但是在主 main.js 中是先使用了Vue.use(VueCompositionAPI); 的 image

yangyinet commented 3 years ago

原因: 在组件库打包后,使用的 vueConstructor 其实是 组件库打包后的js中的 vueConstructor 。与新引入的 composition-api 并不是同一变量,所以就算在主程序中用了.use 也无用。

antfu commented 3 years ago

Can you share a minimal reproduction? Thanks.

github-actions[bot] commented 2 years ago

Stale issue message

sz-p commented 2 years ago

Still have problem

image