Vue: Async рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдХреНрд░рдордг-рд╕рдВрдХреНрд░рдордг рд╕рдорд╕реНрдпрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рдордИ 2017  ┬╖  17рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: vuejs/vue

рд╕рдВрд╕реНрдХрд░рдг

2.3.0

рдкреНрд░рдЬрдирди рд▓рд┐рдВрдХ

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

рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдХреНрдпрд╛ рдЙрдореНрдореАрдж рд╣реИ?

рдкрд┐рдЫрд▓рд╛ рдШрдЯрдХ (рдП) рдШрдЯрдХ рдмреА рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ?

рдЕрд╡рдпрд╡ A рдФрд░ B рдПрдХ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ


рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗрд╡рд▓ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдШрдЯрдХ B рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдирд╣реАрдВ рд╣реИред рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рдП рд╕реЗ рдмреА рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВрдиреЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдПрдХ рдорд┐рдирдЯ рд░реБрдХрд┐рдП ...

async components рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд░рддреЗ рд╕рдордп, рд╣рдореЗрдВ рдПрдХ рдЫрд┐рдкреЗ рд╣реБрдП рддрддреНрд╡ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ

рд╕рднреА 17 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдзрдиреНрдпрд╡рд╛рдж, рдмрдЧ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдФрд░ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐ and рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ async рдШрдЯрдХ рдмрд╣реБрдд рдЬрд▓реНрджреА рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдореИрдВрдиреЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдПрдХ рдорд┐рдирдЯ рд░реБрдХрд┐рдП ...

async components рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд░рддреЗ рд╕рдордп, рд╣рдореЗрдВ рдПрдХ рдЫрд┐рдкреЗ рд╣реБрдП рддрддреНрд╡ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ

рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдпрд╣ async рдШрдЯрдХ рд╕рдВрдХреНрд░рдордг рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ? рдореИрдВ рд╡реАрдпреВ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореЗрд░реЗ рдХреЛрдб рдореЗрдВ рдПрдХ рдмрдЧ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдиреАрдЪреЗ рдореЗрд░рд╛ рд░реЗрдкреЛ рдЕрднреА рднреА рд╕рдВрдХреНрд░рдордг рд╕реЗ рдмрд╛рд╣рд░ рдмрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдШрдЯрдХ рдХреЛ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдлреАрдХрд╛ рд╣реЛрдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдиреЛрдЯ рдореИрдВ рдКрдкрд░ рдирд╛рдорд┐рдд http-vue-loader рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

Async рдШрдЯрдХ рд╕рдВрдХреНрд░рдордг рдмрдЧ рдбреЗрдореЛ

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднреА рднреА рдЙрд╕реА рд░реЗрдкреНрд░реЛ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИред @Clingor рдиреЗ рдХрд╣рд╛ рдХрд┐ рд╕рдВрдХреНрд░рдордг рддреБрд░рдВрдд рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ

@posva

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

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдлрд┐рдХреНрд╕ рдХреЛрдб рдирд╣реАрдВ рд╣реИ

рдлрд┐рдХреНрд╕ рдХреЛ рдЕрднреА рддрдХ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬрдм dev рдмреНрд░рд╛рдВрдЪ рдореЗрдВ рдкреИрдЪ рд▓реИрдВрдб рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдордиреЗ рдореБрджреНрджреЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рддрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

реи.рей.рек рдореЗрдВ рдХреЗрд╡рд▓ рдореЗрдореЛрд░реА рд▓реАрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдлрд┐рдХреНрд╕ рд╣реЛрддрд╛ рд╣реИ (рдЬрд┐рд╕рдореЗрдВ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реЛрддреА рд╣реИ)

рдореЗрд░рд╛ рдмреБрд░рд╛, рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рджреЗрдЦрд╛ рдХрд┐ рдХрдорд┐рдЯрдореЗрдВрдЯ рд░рд┐рд▓реАрдЬ рд╕реЗ рдкрд╣рд▓реЗ рдерд╛ рдФрд░ рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдЕрдЬреАрдм рд╣реИред рдпрд╣ рд╡реИрд╕реЗ рднреА рдЬрд╛рд░реА рдиреЛрдЯреЛрдВ рдореЗрдВ рд╣реЛрддрд╛

рдЧрд▓рддрдлрд╣рдореА рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдпрд╣ 2.4.2 рдореЗрдВ рдЕрднреА рддрдХ рддрдп рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА рд▓рдВрдмрд┐рдд рд╣реИ?

Async рдШрдЯрдХ рд╕рдВрдХреНрд░рдордг рдмрдЧ рдбреЗрдореЛ

@ рдХреНрд▓рд┐рдВрдЧрд░ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдпрдХреАрди рд╣реИ? Jsfiddle рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рдлрд┐рдбрд▓ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг GitHub рд░реЗрдкреЛ рдореЗрдВ рдХреЛрдб рдЕрднреА рднреА рдЙрд╕реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ http-vue-loader рд╕рд╣рд╛рдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп, рдпрд╛ рд╢рд╛рдпрдж рдореЗрд░реЗ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЙрджрд╛рд╣рд░рдг рд╕рд░рд▓ рд╣реИ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

@FranckFreiburger рдЗрди VueJS рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЛ http-vue-loader рдХреЗ рдЕрдкрдбреЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА?

рдЕрдЧрд░ рдЖрдк рд▓реЛрдбрд░ рдХреЗ рдмрд┐рдирд╛ jsfiddle рдкрд░ рд╕рдорд╕реНрдпрд╛ рдбрд╛рд▓рддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ

Am 21.07.2017 21:16 schrieb "рдХреНрд░рд┐рд╕ рд▓рд┐рдВрдЧреЛрд░" рд╕реВрдЪрдирд╛рдПрдВ @github.com:

рдпрд╣ 2.4.2 рдореЗрдВ рдЕрднреА рддрдХ рддрдп рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА рд▓рдВрдмрд┐рдд рд╣реИ
рдЬрд╛рд░реА?

Async рдШрдЯрдХ рд╕рдВрдХреНрд░рдордг рдмрдЧ рдбреЗрдореЛ
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. "рдмреА" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

@posva , рдХреНрдпрд╛ рдЖрдк рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ?

@FranckFreiburger рдЖрдкрдХреЛ рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдзрдиреНрдпрд╡рд╛рдж BTW ЁЯШЙ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

wufeng87 picture wufeng87  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

paulpflug picture paulpflug  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

gkiely picture gkiely  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

robertleeplummerjr picture robertleeplummerjr  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

franciscolourenco picture franciscolourenco  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ