Vue: ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° с асинхронными ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 26 мая 2017  Β·  17ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: vuejs/vue

ВСрсия

2.3.0

Бсылка для воспроизвСдСния

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

ДСйствия ΠΏΠΎ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ

Π§Ρ‚ΠΎ оТидаСтся?

ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ (A) Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΡ‡Π΅Π·Π½ΡƒΡ‚ΡŒ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ появится ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ B.

Π§Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ происходит?

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ 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 Π±Π΅Π· Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ°, я ΠΌΠΎΠ³Ρƒ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ

Am 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 Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ для этого Π½ΠΎΠ²Ρ‹ΠΉ выпуск. Бпасибо, кстати πŸ˜‰

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ