edison

Results 401 comments of edison

see https://github.com/vuejs/vue-next/issues/4891#issuecomment-964762807 the component is not resolved when `setRef`. ![image](https://user-images.githubusercontent.com/3705199/141136304-7cfd2669-4391-4e57-a313-cd2c5c760488.png)

as a workaround, from @sodatea `defineExpose` should run before the first await. see [demo](https://sfc.vuejs.org/#eyJBcHAudnVlIjoiPHRlbXBsYXRlPlxuICAgIDxkaXY+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIEBjbGljaz1cImhhbmRsZUNsaWNrXCI+Y2xpY2s8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPHN1c3BlbnNlPlxuICAgIDxkaXY+XG4gICAgICA8Y29tcG9uZW50IDppcz1cIkNoaWxkXCIgcmVmPVwiY29tcFwiIC8+XG4gICAgPC9kaXY+XG4gIDwvc3VzcGVuc2U+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0IGxhbmc9XCJ0c1wiIHNldHVwPlxuICAgIGltcG9ydCB7IHJlZiB9IGZyb20gJ3Z1ZSdcbiAgICBpbXBvcnQgQ2hpbGQgZnJvbSAnLi9Db21wLnZ1ZSdcbiAgICBjb25zdCBjb21wID0gcmVmKClcbiAgICBjb25zdCBoYW5kbGVDbGljayA9IGFzeW5jICgpID0+IHtcbiAgICAgIGRlYnVnZ2VyXG4gICAgICAgIGF3YWl0IGNvbXAudmFsdWUuc2F5SGkoKS8vIFR5cGVFcnJvcjogY29tcC52YWx1ZS5zYXlIaSBpcyBub3QgYSBmdW5jdGlvblxuICAgIH1cbiAgXHRcbjwvc2NyaXB0PlxuIiwiaW1wb3J0LW1hcC5qc29uIjoie1xuICBcImltcG9ydHNcIjoge1xuICAgIFwidnVlXCI6IFwiaHR0cHM6Ly9zZmMudnVlanMub3JnL3Z1ZS5ydW50aW1lLmVzbS1icm93c2VyLmpzXCJcbiAgfVxufSIsIkNvbXAudnVlIjoiPHRlbXBsYXRlPlxuICAgIDxkaXY+SGVsbG88L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQgbGFuZz1cInRzXCIgc2V0dXA+XG4gICAgY29uc3Qgc2F5SGkgPSAoKSA9PiB7XG4gICAgICAgIGFsZXJ0KCdoZWxsbycpXG4gICAgfVxuICAgIGRlZmluZUV4cG9zZSh7XG4gICAgICAgIHNheUhpLFxuICAgIH0pXG4gIFxuICAgXHRmdW5jdGlvbiBzbGVlcChtczogbnVtYmVyKSB7XG4gICAgXHRyZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKSk7XG5cdFx0fVxuICAgIGF3YWl0IHNsZWVwKDEwMClcblxuXG5cbjwvc2NyaXB0PlxuIn0=)

@jods4 I've made a PR to fix this one. but I am not even sure it is the proper fix. Please feel free to review.

@jods4 We cannot fundamentally solve this problem, for example, with the following usage: ```vue const data = await fetch(...) const getFoo = () => { return data.foo } defineExpose({ getFoo,...

### Scenario 1: If `expose` does not rely on asynchronous requests, it needs to be placed before the async call to solve the issue. For `defineExpose`, during compilation, we can...

a workaround see [Playground](https://play.vuejs.org/#eNqNVG1v2zYQ/is3YYAdxJLsvOyD6hjtggTtPjRFN2wYomBgpJPEhCIFknKcBQH2N/b39kt2pCRXSVo3+eCIdw/vnuPdPQ/Bu6aJ1i0GSbA0meaNBYO2bUAwWZ6kgTVpsEolrxulLbxHIdQfSoscCq1qmETxqap9gEkqU1m0MrNcSaiYzAWeCp7dTnGN0u7BQyoBMiWNEhgJVfZ2dw0gjuFcaYiiCFTxHDgJu7/zi89wcd4fJnQToKBLU4e1wC3WdBnG6Z7GcQh/6/FFUu4N30r64ePLpAIppcxxAycwf9N/LrvskUBZ2qq37u9/lY1HXnrE1UtWZyyrdlA6e3f6/gmnLi8xcxenXalwstr9DPRLSZdx13hqMx3I2QhmkU4AywpZjtp/0ynna8gEM4YG406zpkHtp8M5yT2ajtq44flTtZDznFrzQxrA28yNA5lHw0HmeIgeU/gua7xNu4xHfOho7L1AMJlqMCdLh+uKFFxiWCEvK5vAIjp+44tLpatZdZCcG4p1n8C1UNktAQBqpksuE5gDa62CA431cPFtjTlnMK25DO94bisKOz84ajZ9O8fJR7ELgRsfGoAMGYbuvU0CGTUI9eBhec5lGeqObsZENl0zPQ1Dg36DwpI1exDDwZ6/0c/GqJYxdcea/s3H0J5d1Pfp1TSdPTSWadt7vcFFScD9Djm6wXHtWAUzkgmasIKX0Y1RkrTEZ0uDjMSBC9QXjauJpCQZeKQBo2G5+8XbrG5xNtizCrPbr9hvzMbZ0uCTRoN6jWmw9RHdEm3nPvv1I27oe+usVd4KQu9wfkbajtZx7GA/t25Cabi3OM/2g1dB6ttv5mxjUZqhKEfUv4vHpwHpodPFb5X+he5hdDS8J73ioKXfEeMcC5r1T1o1Zulj0rYlYKwmZhRoNfWi2qHOam57lF+/BC5lW1+jvry6GrC7BGC88qVGdNUTiy/L/CNShunEHyczuFzM4GAGhzM4msExCdugD8tq8SQQvfTq4cFRh8dH2vjFFne4VRTSj//++XdNC99mGRpTtELcQ6aR6OXAoNHqhtYF7rj1YunvM6g0Fk5mrG1MEsdrmuwox3VMtLuXJ+df1/SmTn40CjpKRYoivZz9TvBlzFawvyNkizcmUrp8bcwW4dAFjQat66scRO97OrfohqdQ0oZ3vcYdz7uF90bD/8YEDqKfOgGjpVaGu8lLHBtm+Rq92Sra43Axb9zye6moDkexuzCLaKyD0bbvHfCaZbelVrQiYaaE0gk0XDo1fY6uFrQO43OfydIKhkzwkshtVfFVkvs8+FNLH/5pAoFFp2TPNOvxf1M18zk=)

> @Liwoj Just tried, reproducible for me as well. Ping @yyx990803 I made a [repro](https://sfc.vuejs.org/#eyJBcHAudnVlIjoiPHNjcmlwdCBzZXR1cD5cbmltcG9ydCB7IHJlZiB9IGZyb20gJ3Z1ZSdcbmNvbnN0IG1zZyA9IHJlZignSGVsbG8gV29ybGQhJylcbjwvc2NyaXB0PlxuXG48dGVtcGxhdGU+XG4gIDxkaXYgOnRpdGxlPVwidW5kZWZpbmVkXCIgOmNsYXNzPVwidW5kZWZpbmVkXCIgOnN0eWxlPVwidW5kZWZpbmVkXCI+XG4gICAge3ttc2d9fVxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+In0=) the value is empty string not null ![image](https://user-images.githubusercontent.com/3705199/130625759-82d1ae90-7738-461b-a114-21030cfb0df3.png)

> @edison1105 For `:class="undefined"` and `:class="null"`, `@vue/runtime-dom` v3.1.5 removed `class`, whereas `@vue/runtime-dom` v3.2.4 kept it, which seems like a regression bug. Good catch. Would you mind commit a new issue...

Thanks for the PR, but this was intentional. - [Playground with main](https://play.vuejs.org/#eNp9UcFOwzAM/RUrlxWt6pDgVG2TAO0AB0CAOOVSUq/rSJMocbdJVf8dN9UKB7Rb/N7z83PciTvnskOLIhfLoHztCAJS69bS1I2znqCDY0Fql4LHQlF9QOhh620DM26bSSONsiYQ2K89rCZR0sHW2rxTtjWUw3UP/dWgjV4Ja1NIDB4/C91iClaX8XUFqzV00gAMnlZjpm2VzNSuMBWWM3YYXbg/Y/ssus/n0iwXY3iOzQVh43RBOFaLqRSpoMDO27rK9sEaXjoOk0LZxtUa/YujmidLkY8xBq7Q2h6fIkae055xtUP1/Q++D6cBk+LVY0B/QCkmjgpfIY305v0ZT/yeyMaWrWb1BfIN+VfaIeMou29NybH/6GLax3i62lQfYXMiNOG81BB0UPZRLwWf8OHC6r9xb7Lb2McXEP0PHvq+RQ==) - [Playground with this PR](https://deploy-preview-13409--vue-sfc-playground.netlify.app/#eNp9UcFOwzAM/RUrlxWt6pDgVG2TAO0AB0CAOOVSUq/rSJMocbdJVf8dN9UKB7Rb/N7z83PciTvnskOLIhfLoHztCAJS69bS1I2znqCDY0Fql4LHQlF9QOhh620DM26bSSONsiYQ2K89rCZR0sHW2rxTtjWUw3UP/dWgjV4Ja1NIDB4/C91iClaX8XUFqzV00gAMnlZjpm2VzNSuMBWWM3YYXbg/Y/ssus/n0iwXY3iOzQVh43RBOFaLqRSpoMDO27rK9sEaXjoOk0LZxtUa/YujmidLkY8xBq7Q2h6fIkae055xtUP1/Q++D6cBk+LVY0B/QCkmjgpfIY305v0ZT/yeyMaWrWb1BfIN+VfaIeMou29NybH/6GLax3i62lQfYXMiNOG81BB0UPZRLwWf8OHC6r9xb7Lb2McXEP0PHvq+RQ==) see https://github.com/vuejs/core/pull/13409#discussion_r2114163987