Vue: 비동기 ꡬ성 μš”μ†Œμ˜ 아웃 인 μ „ν™˜ 문제

에 λ§Œλ“  2017λ…„ 05μ›” 26일  Β·  17μ½”λ©˜νŠΈ  Β·  좜처: vuejs/vue

버전

2.3.0

볡제 링크

https://jsfiddle.net/z11fe07p/1959/

μž¬ν˜„ 단계

무엇을 κΈ°λŒ€ν•©λ‹ˆκΉŒ?

ꡬ성 μš”μ†Œ Bκ°€ λ‚˜νƒ€λ‚˜κΈ° 전에 이전 ꡬ성 μš”μ†Œ (A)κ°€ μ‚¬λΌμ Έμ•Όν•©λ‹ˆλ‹€.

μ‹€μ œλ‘œ 무슨 일이 μΌμ–΄λ‚˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

ꡬ성 μš”μ†Œ A와 Bκ°€ λ™μ‹œμ— ν‘œμ‹œλ©λ‹ˆλ‹€.


이 λ™μž‘μ€ ꡬ성 μš”μ†Œ Bκ°€ μ•„μ§λ‘œλ“œλ˜μ§€ μ•Šμ€ κ²½μš°μ—λ§Œ λ°œμƒν•©λ‹ˆλ‹€. λ‹€μŒμ— Aμ—μ„œ B둜 μ „ν™˜ν•˜λ©΄ λͺ¨λ“  것이 μ •μƒμž…λ‹ˆλ‹€.

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ‚˜λŠ” ν•΄κ²°ν–ˆλ‹€, 잠깐만 ...

async components λ Œλ”λ§ ν•  λ•Œ μˆ¨κ²¨μ§„ μš”μ†Œ 자리 ν‘œμ‹œμžλ₯Ό μ‚¬μš©ν•΄μ•Όν•©λ‹ˆλ‹€.

λͺ¨λ“  17 λŒ“κΈ€

κ³ λ§ˆμ›Œμš”, 버그 인 것 κ°™μŠ΅λ‹ˆλ‹€. κ°„κ²°ν•˜κ³  λͺ…ν™•ν•œ μž¬ν˜„μ— κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€ πŸ™‚

비동기 ꡬ성 μš”μ†Œκ°€ λ„ˆλ¬΄ 일찍 λ Œλ”λ§ 된 것 κ°™μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” ν•΄κ²°ν–ˆλ‹€, 잠깐만 ...

async components λ Œλ”λ§ ν•  λ•Œ μˆ¨κ²¨μ§„ μš”μ†Œ 자리 ν‘œμ‹œμžλ₯Ό μ‚¬μš©ν•΄μ•Όν•©λ‹ˆλ‹€.

이것이 비동기 ꡬ성 μš”μ†Œ μ „ν™˜μ„ ν•΄κ²°ν•©λ‹ˆκΉŒ? μ €λŠ” Vueλ₯Ό 처음 μ‚¬μš©ν•˜λ―€λ‘œ μ½”λ“œμ˜ 버그 일 κ°€λŠ₯성이 μžˆμ§€λ§Œ μ•„λž˜μ˜ μ €μž₯μ†Œμ—λŠ” λ“€μ–΄μ˜€λŠ” ꡬ성 μš”μ†Œκ°€ 아웃 νŽ˜μ΄λ“œκ°€ μ™„λ£Œ 될 λ•ŒκΉŒμ§€ 기닀리지 μ•ŠλŠ” μ „ν™˜ 아웃 인 버그가 μ—¬μ „νžˆ ν‘œμ‹œλ©λ‹ˆλ‹€. μ°Έκ³  μœ„μ—μ„œ μ–ΈκΈ‰ ν•œ http-vue-loaderλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

비동기 ꡬ성 μš”μ†Œ μ „ν™˜ 버그 데λͺ¨

이것은 μ‹€μ œλ‘œ λ™μΌν•œ μž¬ν˜„μœΌλ‘œ μ—¬μ „νžˆ μ‹€νŒ¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. @clingorκ°€ λ§ν–ˆλ“―μ΄ μ „ν™˜μ€ μ¦‰μ‹œ μ‹œμž‘λ©λ‹ˆλ‹€.

@posva

https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.4/vue.js

이 버전에 μˆ˜μ • μ½”λ“œκ°€ ν¬ν•¨λ˜μ–΄ μžˆμ§€ μ•Šμ€ 것 κ°™μŠ΅λ‹ˆλ‹€.

μˆ˜μ • 사항은 아직 λ¦΄λ¦¬μŠ€λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. νŒ¨μΉ˜κ°€ dev λΈŒλžœμΉ˜μ—μžˆμ„ λ•Œ 문제λ₯Ό ν•΄κ²°ν–ˆμ§€λ§Œ 아직 곡개 λ¦΄λ¦¬μŠ€μ—λŠ” 없을 수 μžˆμŠ΅λ‹ˆλ‹€.

2.3.4μ—λŠ” λ©”λͺ¨λ¦¬ λˆ„μˆ˜μ— λŒ€ν•œ 단일 μˆ˜μ • 사항 만 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€ (μš°μ„  μˆœμœ„κ°€ 더 λ†’μŒ).

λ‚΄ λ‚˜μœ, λ‚˜λŠ” 방금 컀밋이 릴리슀되기 μ „μ΄λΌλŠ” 것을 λ³΄μ•˜κ³  그것이 μ΄μƒν•˜λ‹€κ³  μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€. μ–΄μ¨Œλ“  릴리슀 λ…ΈνŠΈμ— μžˆμ—ˆμ„ κ²ƒμž…λ‹ˆλ‹€.

μ˜€ν•΄λ₯Όν•΄μ„œ μ£„μ†‘ν•©λ‹ˆλ‹€. 문제λ₯Ό 확인해 μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€!

이것은 2.4.2μ—μ„œ 아직 μˆ˜μ •λ˜μ§€ μ•Šμ€ κ²ƒμœΌλ‘œ λ³΄μž…λ‹ˆλ‹€. 아직 μΆœμ‹œ 보λ₯˜ μ€‘μž…λ‹ˆκΉŒ?

비동기 ꡬ성 μš”μ†Œ μ „ν™˜ 버그 데λͺ¨

@clingor ν™•μ‹€ν•œκ°€μš”? jsfiddle이 잘 μž‘λ™ν•©λ‹ˆλ‹€.

λ°”μ΄μ˜¬λ¦°μ€ μ˜¬λ°”λ₯΄κ²Œ μž‘λ™ν•˜μ§€λ§Œ 예제 GitHub μ €μž₯μ†Œ 의 μ½”λ“œλŠ” μ—¬μ „νžˆ λ™μΌν•œ λ™μž‘μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. http-vue-loader λ„μš°λ―Έ 라이브러리 일 μˆ˜λ„ 있고 λ‚΄ μ½”λ“œμ—μžˆλŠ” 것일 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. 이 μ˜ˆμ œλŠ” κ°„λ‹¨ν•˜λ©° 문제 λ₯Ό μ„€λͺ…ν•˜κΈ° μœ„ν•΄ μž‘μ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

@FranckFreiburger μ΄λŸ¬ν•œ VueJS λ³€κ²½ 사항 쀑 http-vue-loader에 λŒ€ν•œ μ—…λ°μ΄νŠΈκ°€ ν•„μš”ν•©λ‹ˆκΉŒ?

λ‘œλ”μ—†μ΄ jsfiddle에 문제λ₯Όλ‘λ©΄ μ‚΄νŽ΄λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

μ˜€μ „ 21.07.2017 21:16 schrieb "Chris Lingor" [email protected] :

이것은 2.4.2μ—μ„œ 아직 μˆ˜μ •λ˜μ§€ μ•Šμ€ κ²ƒμœΌλ‘œ λ³΄μž…λ‹ˆλ‹€. 아직 보λ₯˜ μ€‘μž…λ‹ˆκΉŒ?
ν•΄μ œ?

비동기 ꡬ성 μš”μ†Œ μ „ν™˜ 버그 데λͺ¨
https://github.com/clingor/githubIssuesFileShare/tree/master/vue-async-component-bug

β€”
이 μŠ€λ ˆλ“œλ₯Ό κ΅¬λ…ν–ˆκΈ° λ•Œλ¬Έμ—μ΄ λ©”μ‹œμ§€κ°€ μ „μ†‘λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
이 이메일에 직접 λ‹΅μž₯ν•˜κ³  GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.
https://github.com/vuejs/vue/issues/5760#issuecomment-317088909 λ˜λŠ” μŒμ†Œκ±°
μ‹€
https://github.com/notifications/unsubscribe-auth/Aclno69wDoTlZziST6eSocqxEnn8mFx-ks5sQPkKgaJpZM4Nng7j
.

범인은 <keep-alive> !

μž¬ν˜„ 단계

  1. https://jsfiddle.net/z11fe07p/2382/ μ°Έμ‘°
  2. "B"λ²„νŠΌμ„ 클릭

@posva , μž¬ν˜„ ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

@FranckFreiburger 그것에 λŒ€ν•œ μƒˆλ‘œμš΄ 문제λ₯Ό μ—΄μ–΄μ•Όν•©λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€ BTW πŸ˜‰

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰