Vue: async рдШрдЯрдХ рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ

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

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддреА рд╣реИ?

рдпрджрд┐ рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдХрд┐ async рд╕рдВрдЪрд╛рд▓рди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ Vue рдХреЛ рд▓рд╛рдЧреВ рд╣реБрдХ рдХреА async рдкреНрд░рдХреГрддрд┐ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ Vue рднреВрдорд┐ рдореЗрдВ рдЗрд╕рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдПрдкреАрдЖрдИ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ?

рдПрдкреАрдЖрдИ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ; рдХреЗрд╡рд▓ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ async рд╣реБрдХ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдХреЗред

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

рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:

  beforeMount: async function() {
       this.user = await client.get({type: 'user', id: this.$route.params.id});
    }

рдЬреЛ UserPage рдШрдЯрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛ред

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

рдЗрд╕рд▓рд┐рдП рдЖрдк рдпрд╣ рдЪрд╛рд╣рддреЗ рд╣реИрдВ

created () {
    return new Promise(resolve => {
        setTimeout(() => {
            console.log('created')
            resolve()
        })
    })
},
mounted () {
    console.log('mounted')
}

рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

mounted

?

рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдмрдирд╛рддреЗ рд╕рдордп, рдЕрдиреБрд░реЛрдз рдХреЛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рд╡рд┐рд╢реНрд╡ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдЬреЛрдбрд╝реЗрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдореМрд▓рд┐рдХ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░/рдкреБрдирд░реНрд▓реЗрдЦрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рддрд░реНрдХ рддреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЬреАрд╡рди рдЪрдХреНрд░ рд╣реБрдХ рдХреА рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рдХреГрддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рддреЛ рдЙрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд╕рд╣реА рдард╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдн рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рдЕрдиреНрдпрдерд╛ рдЗрд╕ рдкрд░ рдХреЗрд╡рд▓ рддрднреА рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рд╣рдо рдПрдХ рдкреВрд░реНрдг рдмреНрд░реЗрдХрд┐рдВрдЧ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдмрд╣реБрдд рдЬрд▓реНрдж рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред

рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрдВрдж, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдареЛрд╕ рддрд░реНрдХ/рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ/рдирд┐рд╣рд┐рддрд╛рд░реНрдереЛрдВ рдХреЗ рд╕рд╛рде рдЕрдиреБрд╡рд░реНрддреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

@posva рд╕рдордЭ рдЧрдпрд╛ - рдореИрдВ рдХреНрд╖рдорд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБред рдореЗрд░реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВ рдПрдХ рд╣реИ UserPage рдШрдЯрдХ рд╣реИ рдХрд┐ рдПрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ user_id (рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреЗрдЬ рдорд╛рд░реНрдЧ рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ this.$route.params ), рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдХреЛ рд╣рд╛рд╕рд┐рд▓ рдХрд░реЗрдЧрд╛ рдЬреИрд╕реЗ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рд░реНрд╡рд░ рдкрд░:
this.user = await client.get({type: 'user', id: this.$route.params.id})
рдЬрд╣рд╛рдВ this.user UserPage рдШрдЯрдХ рдХреЗ data рднрд╛рдЧ рдореЗрдВ user рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдШрдЯрдХ рдмрдирдиреЗ рдХреЗ рдмрд╛рдж рдХреЛрдб рдХреА рдЙрд╕ рдкрдВрдХреНрддрд┐ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП (рддрд╛рдХрд┐ this.$route.params рдЙрдкрд▓рдмреНрдз рд╣реЛ) рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдШрдЯрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд░реЛрд╣рд┐рдд рд╣реЛ рддрд╛рдХрд┐ рдореЗрд░реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдореИрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ user рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреВрдВ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдмрд┐рдирд╛

@yyx990803
рдореИрдВ рдпрд╣рд╛рдВ рдПрдХ рдиреЛрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ Vue рднреВрдорд┐ рдореЗрдВ рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдЬреИрд╕реЗ mounted , рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рд╕реЗ рдкрд╣рд▓реЗ await рдХреАрд╡рд░реНрдб рдЬреЛрдбрд╝рдирд╛ рдПрдХрдорд╛рддреНрд░ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:

  beforeMount: async function() {
       this.user = await client.get({type: 'user', id: this.$route.params.id});
    }

рдЬреЛ UserPage рдШрдЯрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛ред

рдХреЛрдИ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ! рдореИрдВ рдЙрд╕ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ vue-router рдбреЙрдХреНрд╕ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд▓реЛрдбрд┐рдВрдЧ рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХреЛ рдЦреЛрд▓рддрд╛ рд╣реИред рдШрдЯрдХ рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдк рдбреЗрдЯрд╛ рдХреЗ рд╡рд╣рд╛рдВ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдареАрдХ рд╣реИ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдЕрдм, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдШрдЯрдХ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреГрд╖реНрда рдХрд╛ рдПрдХ рдЕрд▓рдЧ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ (рдХрд╣рддреЗ рд╣реИрдВ, рдЙрд╕ рдШрдЯрдХ рдХреА рддрд░рд╣ рдЬреЛ рддрдм рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдлреЗрд╕рдмреБрдХ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдирд╛рдо рдкрд░ рд╣реЛрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдореЗрдВ "рдЭрд╛рдВрдХрддреЗ рд╣реИрдВ"), рддреЛ рд░рд╛рдЙрдЯрд░ рдпрд╣рд╛рдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ id рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдпрд╣рд╛рдВ рдмрдбрд╝реА рддрд╕реНрд╡реАрд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдЕрдм рдпрд╛ рддреЛ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдпрд╛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдХрд┐ рдЬреАрд╡рди рдЪрдХреНрд░ рд╣реБрдХ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдФрд░ рд╕рд╣рдЬ "рдкрд╣реБрдВрдЪ" рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдЬрд┐рд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдореИрдВ рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ)ред

рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рд╕рд░рд▓ рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╢реВрдиреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдШрдЯрдХ рдХреЛ рдЯреЙрдЧрд▓ рдХрд░рддрд╛ рд╣реИ (v-if рдХреА рд╡рдЬрд╣ рд╕реЗ)ред рдПрдХ рдЕрдзрд┐рдХ рдЖрдХрд░реНрд╖рдХ рд╕рдВрд╕реНрдХрд░рдг рдПрдХ рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрдЧрд╛ рдЬреЛ рдШрдЯрдХ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ <component :is="myDynamicComp"/> рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛, рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХрд┐рд╕реА рдкреНрд░рд╢реНрди рдХреЗ рд░реВрдк рдореЗрдВ рд╣рд╛рдИрдЬреИрдХ рди рдХрд░реЗрдВ ЁЯШЙ рдЙрд╕рдХреЗ рд▓рд┐рдП рдлрд╝реЛрд░рдо рдпрд╛ рдХрд▓рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рдирд╣реАрдВ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдб рдХреЗ рд╕рд╛рде рдорджрдж рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛! рдЕрд╕рд▓ рдореЗрдВ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдорд╛рдзрд╛рди рдмрд╣реБрдд рдЕрдкрдиреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЗрд╕реА рддрд░рд╣ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдЬреЛ рдХрд╣рдирд╛ рдЪрд╛рд╣ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ JS async рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕рд╣рдЬ рд╣реИред

рдЬрд┐рд╕ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рдирд╣реАрдВ рдерд╛, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдФрд░ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рдкреНрд░рдХреГрддрд┐ рдореЗрдВ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рдХреЛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдмрд┐рдирд╛ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рдореЗрдВ рдЦреБрдж рдХреЛ рдмрджрд▓реЗред yyx990803 рдиреЗ рдЗрд╕реЗ рддреБрд░рдВрдд рджреЗрдЦрд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдирдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрд╛ред рдЖрдкрдХреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддреЛрдВ рдФрд░ рдЕрдЧрд░ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдХрд╣реАрдВ рдореЗрд░реА рдУрд░ рд╕реЗ рдХреЛрдИ рдЧрд▓рдд рд╕рдВрдЪрд╛рд░ рд╣реБрдЖ рддреЛ рдХреНрд╖рдорд╛ рдХрд░реЗрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣рд╛рдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдФрд░ рдореИрдВ рдХреБрдЫ рд╕реБрдЭрд╛рд╡ рдФрд░ рдХрд╛рдордХрд╛рдЬ рд╡рд┐рдзрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

MainPage.vue рдореЗрд░рд╛ рдореБрдЦреНрдп рдХрдВрдЯреЗрдирд░ рд╣реИред рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП beforeCreate рдкрд░ AJAX "/init" рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдлрд┐рд░ Vuex.store рдХреЛ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рддрд╛ рд╣реВрдВред
Content.vue рдЕрдВрджрд░ рдХрд╛ рдмрдЪреНрдЪрд╛ рд╣реИ MainPage.vue ред рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рднреВрдорд┐рдХрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ mounted рд╕реНрдЯреЗрдЬ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ Vuex.store рд╕реЗ рдЖрддреА рд╣реИрдВред

рдпрджрд┐ рдЬреАрд╡рдирдЪрдХреНрд░ async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЖрджреЗрд╢ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдЧрд╛
рдкреЗрд░реЗрдВрдЯ рдмрд┐рдлреЛрд░рдХреНрд░рд┐рдПрдЯ -> рдкреЗрд░реЗрдВрдЯ рдХреНрд░рд┐рдПрдЯ -> рдЪрд╛рдЗрд▓реНрдб рдмрд┐рдлреЛрд░ рдХреНрд░рд┐рдПрдЯ -> рдЪрд╛рдЗрд▓реНрдб рдХреНрд░рд┐рдПрдЯ -> рдЪрд╛рдЗрд▓реНрдб рдорд╛рдЙрдВрдЯреЗрдб .... (рдЕрдЧрд░ рдореИрдВ рдХрдВрдкреЛрдиреЗрдВрдЯ рд▓рд╛рдЗрдлрд╕рд╛рдЗрдХрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭреВрдВ)ред

рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореБрдЭреЗ Content.vue рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ, рдЕрдм рдореИрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдореИрдВ "/ init" рдПрдкреАрдЖрдИ рдХреЛ MainPage.vue рдЕрдВрджрд░ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рдкреГрд╖реНрдареЛрдВ (рд╡реВ-рд░рд╛рдЙрдЯрд░ рдореЗрдВ рдХрдВрдЯреЗрдирд░) рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдкреНрд░рд╢реНрди рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛

рдзрдиреНрдпрд╡рд╛рдж

рдЬреЛ рд▓рд╛рдпрдХ рд╣реИ рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдХрд┐рд╢ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб:

{
  created: function(){
    this.waitData = asyncCall();
  },
  mounted: function(){
    this.waitData.then(function(data) { ... })
  }
}


рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдзрд┐рдХ "рдлреНрд▓реИрдЯ" рд╕рдорд╛рдзрд╛рди:

{
    async created () {
        let createdResolve = null
        let createdReject = null
        this.createdPromise = new Promise(function(resolve, reject){
            createdResolve = resolve
            createdReject = reject
        })
        await asyncCall1()
        await asyncCall2()
        ...
        createdResolve(someResult)
    }
    async mounted () {
        let result = await this.createdPromise
        ...
    }
    data () {
        return {
            createdPromise: null
        }
    }
}

рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ?

data() {
 ...
},
async created() {
  const something = await exampleMethod();
  console.log(something);
}

рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ @fifman рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддрд╛ рд╣реИ)ред

@breadams рд╣рд╛рдБ, рдмрд┐рд▓реНрдХреБрд▓ред рдлрд╝рдВрдХреНрд╢рди _inside_ created рд╡рд┐рдзрд┐ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреА рдЬрд╛рдПрдЧреА - рд╣рд╛рд▓рд╛рдВрдХрд┐ created рдпрд╛ mounted рдлрд╝рдВрдХреНрд╢рди рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рд╣реИред

рддреЛ Vue рдЙрджрд╛рд╣рд░рдг рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗ created рдФрд░ рддреБрд░рдВрдд mounted рдореЗрдВ рд▓рдВрдмреЗ рдЪрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдХреЛрдИ рднреА рдкрд╣рд▓реЗ created рдХрд╛рд░реНрдп рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛

рдЖрд╣ , рдореЗрд░рд╛ рдмреБрд░рд╛ @ рдбреИрд░реЗрди-рджреЗрд╡ - рдореЗрд░реА рддрд░рдл рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдм рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

@breadadams рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ - рд╣рдо рд╕рдм рдпрд╣рд╛рдБ рдЕрдкрдиреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИрдВ, рдЦреБрд╢реА рд╣реИ рдХрд┐ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ!

рдЕрдЧрд▓реЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ Async рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреАрд╡рдирдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП async рд╕рдорд░реНрдерди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм UX рдкреНрд░рдерд╛рдУрдВ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░реЗрдЧрд╛ред рдХреИрд╕реЗ? Async рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рддреБрд░рдВрдд рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз)ред Vue рдХреЛ рдЖрдкрдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдпрд╛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдпрд╛ рдорд╛рдЙрдВрдЯрд┐рдВрдЧ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЬреАрд╡рдирдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рджреЗрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рддрд░реАрдХреЛрдВ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдЖ рд░рд╣рд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдХреНрд░реАрди рдХреЗ рд╕рд╛рде 4 рд╕реЗрдХрдВрдб рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдШрдЯрдХ рдЖрдкрдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕реНрдкреЙрдЯреА рд╕реЗрд▓ рдХрдиреЗрдХреНрд╢рди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдпрд╣ рди рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЖрдк рд╕реНрдерд┐рддрд┐ рдкрд░ рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рддреНрдпрд╛рдЧ рднреА рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдРрд╕рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдк рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд▓реЛрдб рд╕рдордп рдХреЛ рдЬрд▓реНрджреА рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХреЗ, рдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдпрд╛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдЧрддрд┐ рд╕рдВрдХреЗрддрдХ рджрд┐рдЦрд╛ рд╕рдХреЗрдВред рддреЛ рдЗрд╕ рдХреНрд╖рдорддрд╛ рдХреЛ Vue рдореЗрдВ рдмрдирд╛рдХрд░ рдЖрдк рд╡реЗрдм рдХреЛ рдПрдХ рдмреЗрд╣рддрд░ рдЬрдЧрд╣ рдирд╣реАрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ; рдЖрдк рдЦрд░рд╛рдм рдкреНрд░рдерд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╢реБрд░реВ рд╕реЗ рд╣реА рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЗрд╕ рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛ рдмрдирд╛рдирд╛ рдФрд░ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ: рдЕрдкрдиреА рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ created рдпрд╛ mounted рдпрд╛ рдХрд╣реАрдВ рднреА рд╢реБрд░реВ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдЕрдкрдиреЗ рдШрдЯрдХ рдХреЛ рдПрдХ рдХрдВрдХрд╛рд▓ рд╕рдВрд░рдЪрдирд╛ рдпрд╛ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдмрдирд╛рдПрдВ рдПрдХ рд╕реНрдкрд┐рдирд░ рдЬрдм рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдПрдкреАрдЖрдИ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред рдмрд╣реБрдд рдмреЗрд╣рддрд░ UX рдФрд░ рдЖрдк рдХрд┐рд╕реА рднреА рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рддреНрдпрд╛рдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдмрдВрдбрд▓ рдХреЛ рдЫреЛрдЯрд╛ рд░рдЦрддреЗ рд╣реБрдП, Vue рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЬреАрд╡рдирдЪрдХреНрд░ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЬреАрдд рдЬреАрддреЛред

@seanfisher рдЖрдк рдПрдХ рд╡реИрдз рдмрд┐рдВрджреБ рдЙрдард╛рддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ, рдШрдЯрдирд╛рдУрдВ рдХреЗ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕реЗрдЯ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдбрд┐рдЬрд╛рдЗрдирд┐рдВрдЧ рдХреЛ рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдпрд╣реА рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИред

рдЕрд╕реНрд╡реАрдХрд░рдг : рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреГрд╖реНрда рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдХрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡реИрдз рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдореЗрд░рд╛ рддрд░реНрдХ рдЕрдорд╛рдиреНрдп рд╣реИред


рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрд┐рд╕реА рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдврд╛рдВрдЪреЗ рддрдХ рдирд╣реАрдВ рдЫреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореЗрд░рд╛ рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдПрдХ рдЪрд░рдг рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рддреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд░рдг рдХреНрдпреЛрдВ рд╣реИрдВ? рдПрдХ рдирд┐рд░реНрдорд┐рдд, рдлрд┐рд░ рдШреБрдбрд╝рд╕рд╡рд╛рд░ рдордВрдЪ рдХреНрдпреЛрдВ рд╣реИ? рдпрджрд┐ рд╕рдм рдХреБрдЫ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдирд┐рд░реНрдорд┐рдд рдЕрд╡рд╕реНрдерд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдареАрдХ рд╣реИред

рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ, рдореИрдВрдиреЗ рдХрднреА рднреА (рд╢реБрд░реБрдЖрддреА Vue рдХреЗ рдмрд╛рдж рд╕реЗ) рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдмрдирд╛рдпрд╛ рд╣реИ рдЬрдм рдореБрдЭреЗ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреБрдЫ vue рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдирд╛ рдкрдбрд╝рд╛ - рдЗрд╕рдХрд╛ рдореЗрд░реЗ рдкреЗрдЬ рдХреЗ рд╕реЗрдЯрдЕрдк рдпрд╛ рд▓реЗрдЖрдЙрдЯ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ (рд╕рдВрдХреНрд╖рд┐рдкреНрдд) рдПрд╕рд┐рдВрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИ рдЬреЛ рдХрд┐ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ _before_ рдкреГрд╖реНрда рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ (рдЬреИрд╕реЗ рдлрд╝рд╛рдпрд░рдмреЗрд╕ рдХреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛)ред рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдореЗрдВ, рдлрд┐рд░ рдорд╛рдЙрдВрдЯ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рд╕реЗ рд╣реИрдХреА рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрдо рд╣реЛ рдЬрд╛рдПрдЧреАред

рдпрд╛рдж рд░рдЦреЗрдВ, рдореЗрд░рд╛ рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ Vue рдХреЛ рдореБрдЭреЗ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореИрдВ рдЧрд▓рдд рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдЗрд╕реЗ рдХреЗрд╡рд▓ рд╡рд╛рдВрдЫрд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрд┐рд╕реА рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдврд╛рдВрдЪреЗ рддрдХ рдирд╣реАрдВ рдЫреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЙрдо ....рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдХреБрдЫ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдФрд░ рдкреНрд░рдерд╛рдУрдВ рдореЗрдВ рд╕реАрдорд┐рдд рдпрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдпрд╛ "рдлреНрд░реЗрдо" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣реА рдЙрдирдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рд╣реИред рдХреЛрдИ рднреА рдЕрдЪреНрдЫрд╛ рдврд╛рдВрдЪрд╛ рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдПрдкреАрдЖрдИ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░реЗрдЧрд╛, рдЬреЛ рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рднреА рдпрд╣ рд╡рд┐рд╡рд╢ рднреА рд╣реЛрдЧрд╛ред

рд╣рд╛рдВ, рдпрд╣ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕реА рд╣реИ рдХрд┐ рдПрдХ рдврд╛рдВрдЪрд╛ рдХреБрдЫ рдХреНрд╖рдорддрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рднреА рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХреБрдЫ рдбрд┐рдЬрд╛рдЗрди рдкреНрд░рдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣реА рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рднреАрддрд░ рд░рд╛рдп рдпрд╛ рддреЛ рдЗрд╕реЗ рдорджрдж рдпрд╛ рдЪреЛрдЯ рдкрд╣реБрдВрдЪрд╛ рд╕рдХрддреА рд╣реИред рд╕рд╣реА рд╕рдВрддреБрд▓рди рдЦреЛрдЬрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Vue рдпрд╛ рдмрд▓реНрдХрд┐ Evan рдФрд░ Vue dev рдЯреАрдо рдиреЗ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╕реНрдХреЙрдЯ

рдореИрдВ рдХрднреА рдпрд╣ рддрд░реНрдХ рдирд╣реАрдВ рджреВрдВрдЧрд╛ рдХрд┐ рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдП рдЧрдП рдврд╛рдВрдЪреЗ рдХреЛ рдЙрд╕реА рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди рдХреЗ рд╕рд╛рде рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ рдврд╛рдВрдЪрд╛ рдЗрд╕реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рд╕рд╣реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдврд╛рдВрдЪрд╛ рдХрд┐рддрдирд╛ рднреА рдЕрдЪреНрдЫрд╛ рдХреНрдпреЛрдВ рди рд╣реЛ, рдЕрдВрддрд┐рдо рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЕрднреА рднреА рдЬреЛ рдХреБрдЫ рднреА рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд▓реЗрдХрд┐рди рдЖрдкрдиреЗ рдмрдирд╛рдИ рдФрд░ рдорд╛рдЙрдВрдЯ рдХреА рдЧрдИ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдПрд╕рд┐рдВрдХреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ _actual_ рддрд░реНрдХ рдкрд░ рдЫреБрдЖ рдирд╣реАрдВ рд╣реИ - рдЖрдкрдиреЗ рдореЗрд░реА рд░рд╛рдп рдкрд░ рдЕрдкрдиреА рд░рд╛рдп (рдЬреЛ рдЧрд▓рдд рдирд╣реАрдВ рд╣реИ) рдЬреЛрдбрд╝ рджреА рд╣реИ, рдЬреЛ рдЖрдо рддреМрд░ рдкрд░ рдПрдХ рдмрдбрд╝реА рдкрдЯрд░реА рд╕реЗ рдЙрддрд░рддреА рд╣реИред

рдореИрдВ рдХрднреА рдпрд╣ рддрд░реНрдХ рдирд╣реАрдВ рджреВрдВрдЧрд╛ рдХрд┐ рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдП рдЧрдП рдврд╛рдВрдЪреЗ рдХреЛ рдЙрд╕реА рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди рдХреЗ рд╕рд╛рде рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ рдврд╛рдВрдЪрд╛ рдЗрд╕реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдореБрдЭреЗ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдПрдХ рдврд╛рдВрдЪрд╛ рджрд┐рдЦрд╛рдПрдВ рдЬреЛ рдпрд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдореЗрд░реА рдпрд╣ рдХрд╣рд╛рд╡рдд "рдЗрд╡рд╛рди рдПрдВрдб рдХреЛ рдореЗрдХрд┐рдВрдЧ рдЧреБрдб рдЬрдЬрдореЗрдВрдЯ рдХреЙрд▓реНрд╕" рдореЗрд░реА рд░рд╛рдп рдХреЛ рджрд░реНрд╢рд╛рдПрдЧреАред рд▓реЗрдХрд┐рди, рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдПред рдорд╛рдЙрдВрдЯреЗрдб рдФрд░ рдирд┐рд░реНрдорд┐рдд рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдпрд╛ рдмрд▓реНрдХрд┐, рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рд╕рдордХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЬрд┐рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддрд░реНрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА "рдкреНрд░рддреАрдХреНрд╖рд╛" рдХреЛ рдпреВрдЖрдИ рдореЗрдВ рд╡реИрд╕реЗ рднреА рд╣рд┐рд╕рд╛рдм рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рдЕрднреА рднреА рдкреНрд░рддреНрдпреЗрдХ рд╣реБрдХ рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдкрд╣рд▓реЗ рдХреЗ рдорд╛рдЙрдВрдЯ рдФрд░ рдорд╛рдЙрдВрдЯ рд╣реБрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдм рдЖрд╡рд╢реНрдпрдХ рдмрд╣рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди, рдПрдХ рдпрд╛ рджреЛ рдЪреАрдЬреЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬрд┐рдирдХреА рдЖрдкрдХреЛ рдорд╛рдЙрдВрдЯреЗрдб рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕реЗ рдЖрдк рдЕрднреА рддрдХ рдирд┐рд░реНрдорд┐рдд рдореЗрдВ рдПрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╕рдВрдХрд▓рд┐рдд рд░реЗрдВрдбрд░ рдлрд╝рдВрдХреНрд╢рдиред

рд╕реНрдХреЙрдЯ

рдпрджрд┐ Vue рдХреА рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ async рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдкрд░ рдХреЛрдИ рд░рд╛рдп рд╣реИ рддреЛ рдпрд╣ рдЕрдЯрдХрд▓реЛрдВ рдХрд╛ рд╡рд┐рд╖рдп рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдм рдорд╛рдирдХреЛрдВ, рдПрдкреАрдЖрдИ, рдЧрд╛рдЗрдб рдФрд░ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХреЛ Vue рдЕрдкрдирд╛рддрд╛ рд╣реИ, рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рднреА рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдкрд░ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдЗрд╡рд╛рди рдХреЗ рдореВрд▓ рдЙрддреНрддрд░ рдореЗрдВ, рдПрд╕рд┐рдВрдХреНрд╕ рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдорд╛рдирдХ рдПрдкреАрдЖрдИ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВрдХрд┐ рд▓рд╛рдн рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рд▓рд╛рдЧрдд рдХреЛ рдЙрдЪрд┐рдд рдард╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВред

рдЗрд╕ рд░рд╛рдп рдХреЗ рд▓рд┐рдП рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ async created рдпрд╛ рдЕрдиреНрдп рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдмреБрд░рд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИ рдХрд┐ рдХреБрдЫ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рддрд░реНрдХ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ Vue, async рд╣реБрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЕрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреБрдЫ рдРрд╕рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ "рдлреЗрдЬ рдЯреЗрдореНрдкреНрд▓реЗрдЯ" рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рднреА рд╣рд▓ рдХрд░реЗрдЧрд╛ (рдФрд░ рдЬрд┐рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред

рдЗрд╕ рд░рд╛рдп рдХреЗ рд▓рд┐рдП рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдПрд╕рд┐рдВрдХ рдирд┐рд░реНрдорд┐рдд рдпрд╛ рдЕрдиреНрдп рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдХреЗ рдмрд┐рдирд╛ рдпрд╣ рдПрдХ рдмреБрд░рд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИ рдХрд┐ рдХреБрдЫ рд╣реЛ рд░рд╣рд╛ рд╣реИ,

рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рднреА рд╣реИ?

рд╕реНрдХреЙрдЯ

рдпрд╣рд╛рдВ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рд╣реИ - рдФрд░ рд╢рд╛рдпрдж рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рд╣рдорд╛рд░рд╛ Vue рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдмрд▓реНрдХрд┐ рдмрдбрд╝рд╛) Vuex рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред create() рдЬреАрд╡рдирдЪрдХреНрд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рдХреБрдЫ Vue рдШрдЯрдХреЛрдВ рдореЗрдВ рд╣рдо store.dispatch() рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдЯреЛрд░ рдореЗрдВ рдХреБрдЫ рдЖрдЗрдЯрдо рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ (рдЬрд╛рд╣рд┐рд░ рд╣реИ)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реЗ рдзреНрдпрд╛рди рдореЗрдВ рдЖрдпрд╛ рд╣реИ - store.dispatch() рд╣рдореЗрд╢рд╛ рдПрдХ рд╡рд╛рджрд╛ рджреЗрддрд╛ рд╣реИ .. рднрд▓реЗ рд╣реА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рддрд░реНрдХ рдФрд░ рдХрд╛рд░реНрдп async рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ async create() {рдкреНрд░рддреАрдХреНрд╖рд╛ store.dispatch('foo/action') } рдбрд╛рд▓ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ ..

рдореИрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЬрдм рдореИрдВ рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ / рддреЛ рдпрд╣ рдХрдбрд╝рд╡рд╛рд╣рдЯ рд╕реЗ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░ store.dispatch() рдХреЙрд▓ .. "рдлреНрд▓реЛрдЯрд┐рдВрдЧ" рд╡рд╛рджреЗ рд╡рд╛рд▓реЗ ..

рддреЛ рдЬреАрд╡рдирдЪрдХреНрд░ рдореЗрдВ Vuex store.dispatch() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ рдЬрдм рд╣рдо рдЙрдиреНрд╣реЗрдВ async рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЪреАрдпрд░реНрд╕ !!

Vue рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд╛рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдиреНрдп рд╕рднреА рдЪрд░реНрдЪрд╛рдПрдБ, рдФрд░ рдХреНрдпрд╛ рдЪреМрдЦрдЯреЗ рдХреЛ рд░рд╛рдп рдХреЛ рдЕрд▓рдЧ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд░рдирд╛ рдлрд╛рдпрджреЗрдордВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдКрдкрд░ @fifman рдХреЗ "рдЕрдзрд┐рдХ рдлреНрд▓реИрдЯ" рд╕рдорд╛рдзрд╛рди рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ mounted() рд░рд┐рдЯрд░реНрди рдХреЗ рд╕рдордп рддрдХ рдЕрдкрдирд╛ рдПрдХреНрд╕рдПрдЪрдЖрд░ рд▓реЛрдб рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдЙрд╕ рд╕рдорд╛рдзрд╛рди рдореЗрдВ, created() рдФрд░ mounted() рджреЛрдиреЛрдВ рд╣реА async рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП Vue рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ рдФрд░ рд╡реЗ рдХрдореЛрдмреЗрд╢ рддреБрд░рдВрдд рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ async рд╕рд╛рдордЧреНрд░реА рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдЪрд▓ рд░рд╣реА рд╣реЛрдЧреАред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл createdPromise рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдФрд░ created() рдпрд╛ mounted() рдореЗрдВ рд╕реЗ рд╕рднреА async рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рдХреИрд╕реЗ рд╣реИ, рдЬреИрд╕реЗ:

async mounted() {
  let response = await fetch(my_url)
  let data = await response.text()
  my_data_member = data
}

рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, my_data_member "рдмрд╛рдж рдореЗрдВ" рднрд░ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдПрдХреНрд╕рдПрдЪрдЖрд░ рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓рдВрдмреЗ рд╕рдордп рдмрд╛рдж mounted() рдЕрдкрдирд╛ рд╡рд╛рджрд╛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрддрд╛ рд╣реИ, рд╣реИ рдирд╛?

рдЖрдк рд░реВрдЯ рдШрдЯрдХ <div id="app"/> рдкрд░ v-if рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрдм рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реЛ рддреЛ рдЗрд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕реЗ рд░реАрдлреНрд░реЗрд╢ рдЯреЛрдХрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рдпрд╣ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИред рдореЗрд░реЗ рдЙрдкрдпреЛрдЧрдХреЗрд╕ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдШрдЯрдХ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░реЗрдВрдбрд░ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдкреАрдЖрдИ рдЧреБрдгреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЬреАрд╡рди рдЪрдХреНрд░ рд╣реБрдХ рдореЗрдВ async рдПрдХ рдЖрджрд░реНрд╢ рд╕рдорд╛рдзрд╛рди рд╣реИред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рд░ рдХреЛрдИ рдпрд╣рд╛рдБ рдПрдХ рдЖрджрд░реНрд╢ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрд╣рд╛рдБ async рдлрд╝рдВрдХреНрд╢рди рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВ рдХрд┐ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрдиреЗрдХреНрд╢рди рдзреАрдорд╛ рдпрд╛ рдкрд┐рдЫрдбрд╝ рд░рд╣рд╛ рд╣реИ рдФрд░ рд╣рдо рдПрдкреАрдЖрдИ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рдж рдШрдЯрдХ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреВрд░реЗ рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд▓реЛрдбрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рджрд┐рдЦрд╛ рдкрд╛рдПрдВрдЧреЗред рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рдЕрдЧрд░ рдПрдкреАрдЖрдИ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ, рддреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд┐рдирд╛ рдорд╛рдЙрдВрдЯ рдХрд┐рдП рд▓рдЯрдХ рдЬрд╛рдПрдЧрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ, рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рджреНрд╡рд╛рд░рд╛ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛, рди рдХрд┐ рдврд╛рдВрдЪреЗ рдХреЗ рдХрд╛рд░рдг рдХреНрдпреЛрдВрдХрд┐ рдбреЛрдореЗрди рддрд░реНрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рддрд░реНрдХ рдкрд░ рдЕрдзрд┐рдХ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рд╣реИ, рдлрд┐рд░ рдврд╛рдВрдЪрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрдо рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП +1ред
рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд┐рднрд┐рдиреНрди рдШрдЯрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдорд┐рд╢реНрд░рдг рд╣реИ, рдорд┐рдХреНрд╕рд┐рди рдорд╛рдЙрдВрдЯреЗрдб рд╣реБрдХ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рдШрдЯрдХреЛрдВ рдХреЛ рдорд┐рдХреНрд╕рд┐рди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдорд╛рдЙрдВрдЯреЗрдб рд╣реБрдХ рдореЗрдВ рднреА рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреА рд╣реИ, рдореБрдЭреЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдмреИрдХ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдЬрдм рдорд┐рд╢реНрд░рдг рдиреЗ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдШрдЯрдХ рдореЗрдВ рдШреБрдбрд╝рд╕рд╡рд╛рд░ рд╣реБрдХ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ред
рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдорд╛рдЙрдВрдЯреЗрдб рд╣реБрдХ рдиреЗ рд╡рд╛рджреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рд╛ рддреЛ рдпрд╣ рд╕реБрдВрджрд░ рд╣реЛрдЧрд╛ред

@cederron рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдмреНрдпрд╛рдЬ рд╕реЗ рдмрд╛рд╣рд░, рдЖрдк рдореВрд▓ рдШрдЯрдХ рдореЗрдВ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдкреНрд░реЛрдк рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдбреЗрдЯрд╛ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рд▓реЛрдбрд┐рдВрдЧ рд╕рдВрдХреЗрддрдХ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП v-if рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЬрдм рдбреЗрдЯрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдШрдЯрдХ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЬрдм рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдбреЗрдЯрд╛ рд╣реЛрдЧрд╛ред

рдШрдЯрдХ рдХреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд░рд╛рдЬреНрдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ ('рдХреЛрдИ рдбреЗрдЯрд╛ рд▓реЛрдб рдирд╣реАрдВ, рдкреНрд░рддреАрдХреНрд╖рд╛' рдФрд░ 'рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдЗрд╕реЗ рд╣реЗрд░рдлреЗрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ')

рдпрджрд┐ рдЖрдкрдХреЛ рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рддрд░реНрдХ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдбрд╛рдЙрдирд▓реЛрдб рддрд░реНрдХ рдХреЛ Vuex рдореЗрдВ рднреА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдереЛрдбрд╝реЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдПрдХ рдШрдЯрдХ рдХреЗ рдмрдЬрд╛рдп Vuex рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЬрд╛рдПрдЧрд╛ред

@ReinisV рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдорд╛рдорд▓реЗ рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдШрдЯрдХ рдорд┐рдХреНрд╕рд┐рди рдорд╛рдЙрдВрдЯреЗрдб рд╣реБрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рд╕реЗ рдирдпрд╛ рдбреЗрдЯрд╛ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдШрдЯрдХ рджреГрд╢реНрдп рдЗрд╕ рдирдП рдбреЗрдЯрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдорд┐рдХреНрд╕рд┐рди рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ > рдШрдЯрдХ рдЗрд╕рд╕реЗ рдбреЗрдЯрд╛ рдмрдирд╛рддрд╛ рд╣реИ > рдЕрдм рдШрдЯрдХ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ

AFAIK рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛:

export const MyMixin = {
    data: function () {
        return {
            dbData: null
        }
    },
   mounted:  async function () {
      this.dbData = await asyncFetchDataFromDB()
   }
}


export const MyComponent = {
    mixins: [MyMixin],
    data: function () {
        return {
            newData: null
        }
    },
   mounted:  function () {
      this.newData = handleDBData(this.dbData)
   }
}

рдШрдЯрдХ рдорд╛рдЙрдВрдЯ рд╣реБрдХ рдореЗрдВ dbData рд╢реВрдиреНрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЬрдм рдореИрдВ рдорд┐рд╢реНрд░рдг рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдХреЙрд▓рдмреИрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдорд╛рдЙрдВрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрд╕рд┐рдВрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдВрджрд░ рд╣реЛрдЧрд╛ред

vuex рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЛрд╣рд░рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ @seanfisher рдиреЗ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред рдПрд╕рд┐рдВрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдП рдЧрдП рдШрдЯрдХреЛрдВ рдкрд░ рд╡реАрдпреВ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рд╕реЗ рди рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИрдВ, рдбреЗрдЯрд╛ рд▓реБрдХ рдЕрдк рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд╕рд┐рдВрдХ/рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреИрдЯрд░реНрди рд╣рд░ рдЬрдЧрд╣ рдореМрдЬреВрдж рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд╡рд░реБрджреНрдз vue рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдореЗрдВ рдХреЛрдб рдХреЛ рдЕрдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рд╡рд╛рджреЛрдВ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░реЗрдЧрд╛ред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдХреЛрдИ рд╕реБрд╡рд┐рдзрд╛ рдкреЗрд╢ рдХреА рдЬрд╛рдПрдЧреА, рддреЛ рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рджреЛ рдЬреАрд╡рди рдЪрдХреНрд░ рдЪрд▓рд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдирд╛ рд╣реЛрдЧрд╛, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЬреЛ рдШрдЯрдХ рд╣реБрдХ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЬреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдХреЙрд▓рдмреИрдХ рдХреЗ рд▓рд┐рдП рдЙрди рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рд░рд╛рд╢ рд╣реЛрдКрдВрдЧрд╛ рдХрд┐ рдореЗрд░реЗ рд╣рд░ рдПрдХ рдЬреАрд╡рдирдЪрдХреНрд░ рдХреЗ рд╣реБрдХ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдП, async/await рдмрд╣реБрдд рд╕рд╛рдл рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╡рд╛рджреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕реЗ рдЧреИрд░-рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрдд рддрд░реАрдХреЗ рд╕реЗ рдмрджрд▓рдиреЗ рд╕реЗ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдЧрдбреНрдвреЗ рдХреЗ рд▓рд┐рдП рд╕рдлрд▓рддрд╛ рдХрд╛ рдЧрдбреНрдврд╛ (рдЕрдкреНрд░рддреАрдХреНрд╖рд┐рдд рдШрдЯрдХ рдЬреАрд╡рдирдЪрдХреНрд░) рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред

рд╢реБрд░реВ рд╕реЗ рд╣реА рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЗрд╕ рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛ рдмрдирд╛рдирд╛ рдФрд░ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ: рдЕрдкрдиреА рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ created рдпрд╛ mounted рдпрд╛ рдХрд╣реАрдВ рднреА рд╢реБрд░реВ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдЕрдкрдиреЗ рдШрдЯрдХ рдХреЛ рдПрдХ рдХрдВрдХрд╛рд▓ рд╕рдВрд░рдЪрдирд╛ рдпрд╛ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдмрдирд╛рдПрдВ рдПрдХ рд╕реНрдкрд┐рдирд░ рдЬрдм рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдПрдкреАрдЖрдИ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред рдмрд╣реБрдд рдмреЗрд╣рддрд░ UX рдФрд░ рдЖрдк рдХрд┐рд╕реА рднреА рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рддреНрдпрд╛рдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдмрдВрдбрд▓ рдХреЛ рдЫреЛрдЯрд╛ рд░рдЦрддреЗ рд╣реБрдП, Vue рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЬреАрд╡рдирдЪрдХреНрд░ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЬреАрдд рдЬреАрддреЛред

@seanfisher рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд╣реИ!

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХреЗрд╡рд▓ рддрднреА рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЙрд▓ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдВрдЧреЗ?
рдПрдкреАрдЖрдИ рдкрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ
https://vuejs.org/v2/guide/components-dynamic-async.html#Async -Components

new Vue({
  components: {
    root: () => ({ // Aync component
      // The component to load (should be a Promise)
      component: new Promise(async function (resolve) {
        await FetchMyVariables()
        resolve(MyComponent) // MyComponent will be rendered only when FetchMyVariables has returned
      }),
      // A component to use while the async component is loading
      loading: { render: (h) => h('div', 'loading') }, 
    })
  },
  render: h => h('root')
})

рдЬрдмрдХрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдорд╛рдзрд╛рди рдареАрдХ рд▓рдЧрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ Vue рдХреЗ рдЙрди рдкреНрд░рдореБрдЦ рд▓рд╛рдкрддрд╛ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдЗрддрдирд╛ рд╕рд╣рдЬ рдмрдирд╛рддреЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Vue 3 рдХреЛ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЖ рдЧрдП рд╣реИрдВ рдЬрд╣рд╛рдВ async Wait рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдм рдПрдХ рд░реЛрдЬрдорд░реНрд░рд╛ рдХреА рдмрд╛рдд рд╣реИред рддреЛ рдХреГрдкрдпрд╛ @ yyx990803 рдЖрдк, рдЗрд╕реЗ Vue 3 рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред PLEEEEEEEASEред рдкреВрд░рд╛ VUE рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЗрди рдорд╛рдорд▓реЛрдВ рдХреА рдзрд╛рд░рдгрд╛ рдХреЗ рдмрд┐рдирд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЬреНрдпрд╛рджрд╛рддрд░ рдЪреАрдЬреЗрдВ рдЬреЛ рд▓реЛрдЧ рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡реЗ рд╕рд┐рд░реНрдл рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдФрд░ рд╣реИрдХрд┐рд╢ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣реБрдХ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрд╕рд┐рдВрдХ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдпреЛрдВ рдХреА рднреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХрд┐ рдЕрдЧрд▓реЗ рд╣реБрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдкрд╛рд╕ рд╣реЛ рдЬрд╛рдПрдВред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреАрд╡рдирдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП async рд╕рдорд░реНрдерди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм UX рдкреНрд░рдерд╛рдУрдВ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░реЗрдЧрд╛ред рдХреИрд╕реЗ? Async рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рддреБрд░рдВрдд рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз)ред Vue рдХреЛ рдЖрдкрдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдпрд╛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдпрд╛ рдорд╛рдЙрдВрдЯрд┐рдВрдЧ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЬреАрд╡рдирдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рджреЗрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рддрд░реАрдХреЛрдВ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдЖ рд░рд╣рд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдХреНрд░реАрди рдХреЗ рд╕рд╛рде 4 рд╕реЗрдХрдВрдб рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдШрдЯрдХ рдЖрдкрдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕реНрдкреЙрдЯреА рд╕реЗрд▓ рдХрдиреЗрдХреНрд╢рди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдпрд╣ рди рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЖрдк рд╕реНрдерд┐рддрд┐ рдкрд░ рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рддреНрдпрд╛рдЧ рднреА рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдРрд╕рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдк рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд▓реЛрдб рд╕рдордп рдХреЛ рдЬрд▓реНрджреА рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХреЗ, рдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдпрд╛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдЧрддрд┐ рд╕рдВрдХреЗрддрдХ рджрд┐рдЦрд╛ рд╕рдХреЗрдВред рддреЛ рдЗрд╕ рдХреНрд╖рдорддрд╛ рдХреЛ Vue рдореЗрдВ рдмрдирд╛рдХрд░ рдЖрдк рд╡реЗрдм рдХреЛ рдПрдХ рдмреЗрд╣рддрд░ рдЬрдЧрд╣ рдирд╣реАрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ; рдЖрдк рдЦрд░рд╛рдм рдкреНрд░рдерд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╢реБрд░реВ рд╕реЗ рд╣реА рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЗрд╕ рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛ рдмрдирд╛рдирд╛ рдФрд░ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ: рдЕрдкрдиреА рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ created рдпрд╛ mounted рдпрд╛ рдХрд╣реАрдВ рднреА рд╢реБрд░реВ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдЕрдкрдиреЗ рдШрдЯрдХ рдХреЛ рдПрдХ рдХрдВрдХрд╛рд▓ рд╕рдВрд░рдЪрдирд╛ рдпрд╛ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдмрдирд╛рдПрдВ рдПрдХ рд╕реНрдкрд┐рдирд░ рдЬрдм рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдПрдкреАрдЖрдИ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред рдмрд╣реБрдд рдмреЗрд╣рддрд░ UX рдФрд░ рдЖрдк рдХрд┐рд╕реА рднреА рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рддреНрдпрд╛рдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдмрдВрдбрд▓ рдХреЛ рдЫреЛрдЯрд╛ рд░рдЦрддреЗ рд╣реБрдП, Vue рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЬреАрд╡рдирдЪрдХреНрд░ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЬреАрдд рдЬреАрддреЛред

рд╣рдЬрд╛рд░реЛрдВ рдХреА рдПрдХ рд░рд╛рдпред рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЖрдк рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреА рдХрд▓реНрдкрдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдШрдЯрдХ рдкреНрд░рддрд┐рдкрд╛рджрди рдореЗрдВ рджреЗрд░реА рд╣реЛ рд░рд╣реА рд╣реИ, рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде рд░рд╣ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рдирд╣реАрдВ рд╣реИред

рдпрджрд┐ рдХреЛрдИ рдврд╛рдВрдЪрд╛ рдбреЗрд╡рд▓рдкрд░ рд╕реЗ рд▓рдбрд╝рддрд╛ рд╣реИ рддреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рджреВрд╕рд░рд╛ рдврд╛рдВрдЪрд╛ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ред

@robob4him

рд╣рдЬрд╛рд░реЛрдВ рдХреА рдПрдХ рд░рд╛рдпред рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЖрдк рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреА рдХрд▓реНрдкрдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдШрдЯрдХ рдкреНрд░рддрд┐рдкрд╛рджрди рдореЗрдВ рджреЗрд░реА рд╣реЛ рд░рд╣реА рд╣реИ, рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде рд░рд╣ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рдирд╣реАрдВ рд╣реИред

рдпрджрд┐ рдХреЛрдИ рдврд╛рдВрдЪрд╛ рдбреЗрд╡рд▓рдкрд░ рд╕реЗ рд▓рдбрд╝рддрд╛ рд╣реИ рддреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рджреВрд╕рд░рд╛ рдврд╛рдВрдЪрд╛ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛

рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдиреЗ рдпрд╣рд╛рдВ рдЬреЛ рдХреБрдЫ рднреА рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдПрдХ рд╡реИрдз рддрд░реНрдХ рд╣реИред рдЖрдкрдиреЗ рд╕рдореБрджрд╛рдп рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбрд░рд╛рдиреЗ рд╡рд╛рд▓реА рд░рдгрдиреАрддрд┐ рдкреЗрд╢ рдХреА рд╣реИред рдмрд╛рддрдЪреАрдд рдХреА рд░рдЪрдирд╛рддреНрдордХ рдирд┐рд░рдВрддрд░рддрд╛ рдирд╣реАрдВред

@wparad , рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдбрд░рд╛рдиреЗ рд╡рд╛рд▓реА рд░рдгрдиреАрддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рдХреЛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рддрд░реНрдХ рджреЗрдирд╛ рдХрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдмреБрд░реА рдЖрджрддреЛрдВ рдпрд╛ рд╡рд┐рд░реЛрдзреА рдкреИрдЯрд░реНрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ рдпрд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмрдбрд╝реЗ рд╕рдореБрджрд╛рдп рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрдЧреА, рдЙрддрдиреА рд╣реА рдбрд░рд╛рд╡рдиреА рд░рдгрдиреАрддрд┐ рд╣реИред

рд╡рд╕реНрддреБрддрдГ рдХрд┐рд╕реА рднреА рдврд╛рдВрдЪреЗ/рднрд╛рд╖рд╛ рдХреА рдЖрдзреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЦрддрд░рдирд╛рдХ рд╣реЛрддреА рд╣реИрдВ; рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рддрд░реАрдХреЛрдВ рдХреЛ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, Vue рддрддреНрд╡ ($ el), рдЖрджрд┐ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред рдлреНрд░реЗрдорд╡рд░реНрдХ рдпреЗ рдЪреАрдЬреЗрдВ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рджрд┐рди рдХреЗ рдЕрдВрдд рдореЗрдВ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдПрдХ рд╡рд░реНрд╖ рдкреБрд░рд╛рдирд╛ рд╣реИред рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдмреБрд░реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрдВрдЧреЗ рдФрд░ рди рд╣реА рдЙрдиреНрд╣реЗрдВ рджреЗрд░реА рд╕реЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛ рдПрдХ рдмреБрд░рд╛ рдЕрднреНрдпрд╛рд╕ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ Vue рдХреЗ рд╕рд╛рде requjs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрдЭреЗ requjs рдкрд╕рдВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдПрд▓рдПрдордПрд╕ рдХреЗ рд╕рд╛рде рд╡реАрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдПрдордбреА рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕рдХреЗ рд╕рднреА рдореЙрдбреНрдпреВрд▓ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рдЙрди рд╕рднреА рдХрд╛рдореЛрдВ рдХреЛ рд▓реЛрдб рдХрд░ рд╕рдХреВрдВ рдЬреЛ рдореБрдЭреЗ рдкрд╣рд▓реЗ рдХреНрд░рд┐рдПрдЯ рд╣реБрдХ рдореЗрдВ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд╕рдордп рдореЗрд░реЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рдпрд╣ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╡реАрдпреВ рдХреЗ рдмрд╛рд╣рд░ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рдП рдЬреЛ рдЕрдзрд┐рдХ рдЧрдбрд╝рдмрдбрд╝ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреАрд╡рдирдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП async рд╕рдорд░реНрдерди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм UX рдкреНрд░рдерд╛рдУрдВ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░реЗрдЧрд╛ред рдХреИрд╕реЗ? Async рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рддреБрд░рдВрдд рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз)ред Vue рдХреЛ рдЖрдкрдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдпрд╛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдпрд╛ рдорд╛рдЙрдВрдЯрд┐рдВрдЧ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЬреАрд╡рдирдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рджреЗрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рддрд░реАрдХреЛрдВ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдЖ рд░рд╣рд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдХреНрд░реАрди рдХреЗ рд╕рд╛рде 4 рд╕реЗрдХрдВрдб рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдШрдЯрдХ рдЖрдкрдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕реНрдкреЙрдЯреА рд╕реЗрд▓ рдХрдиреЗрдХреНрд╢рди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдпрд╣ рди рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЖрдк рд╕реНрдерд┐рддрд┐ рдкрд░ рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рддреНрдпрд╛рдЧ рднреА рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдРрд╕рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдк рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд▓реЛрдб рд╕рдордп рдХреЛ рдЬрд▓реНрджреА рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХреЗ, рдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдпрд╛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдЧрддрд┐ рд╕рдВрдХреЗрддрдХ рджрд┐рдЦрд╛ рд╕рдХреЗрдВред рддреЛ рдЗрд╕ рдХреНрд╖рдорддрд╛ рдХреЛ Vue рдореЗрдВ рдмрдирд╛рдХрд░ рдЖрдк рд╡реЗрдм рдХреЛ рдПрдХ рдмреЗрд╣рддрд░ рдЬрдЧрд╣ рдирд╣реАрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ; рдЖрдк рдЦрд░рд╛рдм рдкреНрд░рдерд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╢реБрд░реВ рд╕реЗ рд╣реА рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЗрд╕ рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛ рдмрдирд╛рдирд╛ рдФрд░ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ: рдЕрдкрдиреА рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ created рдпрд╛ mounted рдпрд╛ рдХрд╣реАрдВ рднреА рд╢реБрд░реВ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдЕрдкрдиреЗ рдШрдЯрдХ рдХреЛ рдПрдХ рдХрдВрдХрд╛рд▓ рд╕рдВрд░рдЪрдирд╛ рдпрд╛ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдмрдирд╛рдПрдВ рдПрдХ рд╕реНрдкрд┐рдирд░ рдЬрдм рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдПрдкреАрдЖрдИ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред рдмрд╣реБрдд рдмреЗрд╣рддрд░ UX рдФрд░ рдЖрдк рдХрд┐рд╕реА рднреА рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рддреНрдпрд╛рдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдмрдВрдбрд▓ рдХреЛ рдЫреЛрдЯрд╛ рд░рдЦрддреЗ рд╣реБрдП, Vue рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЬреАрд╡рдирдЪрдХреНрд░ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЬреАрдд рдЬреАрддреЛред

рдЖрдк рдЬреЛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ v-if/v-clock/v-show рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЦрд░рд╛рдм рдкреНрд░рдерд╛рдУрдВ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рдорд┐рд▓реЗрдЧрд╛ рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рдХрд░ рдврд╛рдВрдЪреЗ рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд╕рд╛рдмрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЬрдЯрд┐рд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЙрди 3 рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рди рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП Vue рдЫреЛрдЯрд╛ рд╣реЛред рдкрд╣рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдмреЗрд╡рдХреВрдл рдирд╣реАрдВ рд╣реИрдВред рджреВрд╕рд░рд╛ рдореВрд░реНрдЦ-рдкреНрд░реВрдлрд┐рдВрдЧ рдврд╛рдВрдЪрд╛ рдмрджрд▓реЗ рдореЗрдВ рдЗрд╕рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╕реАрдорд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╕реНрдкрд╖реНрдЯ "рдореВрд░реНрдЦреЛрдВ" рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреВрд░реА рд╕реНрдХреНрд░реАрди рдХреЛ рдЦрд╛рд▓реА рдЫреЛрдбрд╝рдХрд░ async рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдкрдиреА рдкреВрд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП v-if рдХреНрдпреЛрдВ рд▓рдЧрд╛рдПрдЧрд╛?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рддрдереНрдп рдХреА рдЕрдирджреЗрдЦреА рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдПрдХ рдЦрд╛рд▓реА рдкреГрд╖реНрда рдХреЗ рд╕рд╛рде рднреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдПрдХ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдШрдЯрдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕реЗ рдорд╛рдорд▓реЗ рдЬрд╣рд╛рдВ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдХреНрд░реАрди рдкрд░ рдХреБрдЫ рдФрд░ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП v-if рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реБрджреНрдз рдПрдХ рдШрдЯрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЬрдм рдХреБрдЫ рдмрджрд▓рддрд╛ рд╣реИ рддреЛ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкрд╣рд▓реА рдмрд╛рд░ рдЗрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, async functions рдЖрджрд┐ рдХреЛ рдШрдЯрдХ рдмреВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдореНрдорд╛рдирд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдкреВрд░реЗ Vue рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рджреЗрдЦрд╛ рдФрд░ рдЕрдВрдд рдореЗрдВ рдЗрд╕реЗ рд╣реИрдХрд┐рд╢ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рддрд░рд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрдВрджрд░ рдХрд╛рдордХрд╛рдЬ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдореБрдЭреЗ рдХреНрдпрд╛ рдЪрд┐рдВрддрд╛ рд╣реИ рдХреЛрдИ/рдмрд╛рдж рдореЗрдВ рднреА рдореБрдЭреЗ рдХреЛрдб рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реИред рдпрд╣ рдкреНрд░реЙрдорд┐рд╕ рдХреЙрд▓рдмреИрдХ рд╣реЗрд▓ рдмрдирд╛рдо рдПрд╕рд┐рдВрдХреНрд╕ рдХреА рддрд░рд╣ рд╣реИ ... рдкреНрд░рддреАрдХреНрд╖рд┐рддред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВ рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдлреЙрд▓реЛрдЕрдк рдлреИрд╢рди рдореЗрдВ рдврд╛рдВрдЪреЗ рдХреЗ рд▓рдЪреАрд▓реЗрдкрди рдФрд░ рдирд┐рдпрдВрддреНрд░рдгреАрдпрддрд╛ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реБрдЖ рджреЗрдЦрддрд╛ рд╣реВрдВред рдореЗрд░рд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╣реИрдХреНрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдПрдХ рд╕рд╛рдзрд╛рд░рдг async mounted () { await... } рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рдЕрдВрддрд░ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдм рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЙрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдХреЛ async рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ await рдЙрдкрдпреЛрдЧ рднреА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ async mounted рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рд╡рд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╕рдордЭреЗрдЧрд╛ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╡реЗ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЙрди рдмреБрд░реА рдкреНрд░рдерд╛рдУрдВ рдХреЛ рдирд╣реАрдВ рдмрдирд╛рдПрдВрдЧреЗ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдЪрд┐рдВрддрд┐рдд рд╣реИрдВред

@emahuni , рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХреЛрдИ рднреА рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЭрд╛ рдХреА рдЬрд╛ рд░рд╣реА рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдЕрд╕рд╣рдордд рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рдЕрддрд┐ рд╕реВрдХреНрд╖реНрдо рдЕрдВрддрд░ рд╣реИ, рдЬрд┐рд╕реЗ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЖрдЗрдП рдорд╛рди рд▓реЗрдВ рдХрд┐ async mounted рдпрд╛ async created рдШрдЯрдХ рдХреЛ рд░реЗрдВрдбрд░ рд╣реЛрдиреЗ рдореЗрдВ рджреЗрд░реА рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдпрд╣:

  • рдмреНрд▓реЙрдХ рднреА
  • рдорд╛рди рд▓реЗрдВ рдХрд┐ рдШрдЯрдХ рдХреЛ рд▓реЛрдб рд╣реЛрдиреЗ рддрдХ DOM v-if рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ
  • рдорд╛рди рд▓реЗрдВ рдХрд┐ рдШрдЯрдХ рдкреВрд░реНрдг рд▓реЛрдб рд╣реЛрдиреЗ рддрдХ рдЫреБрдкрд╛рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ
  • рдЗрд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рддрддреНрд╡ рджрд┐рдЦрд╛рдПрдБ?

рдЬрдмрдХрд┐ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдШрдЯрдХ рдХреЗ рдЖрд╕-рдкрд╛рд╕ рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдПрдВ рд╕реБрд╕рдВрдЧрдд рд╣реИрдВ, рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╣рд╛рд░ рдЬреЛ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдЖрдИрдПрдордУ рд╣реЛрдЧрд╛ рдЬреЛ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдмрдЪреНрдЪреЗ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░реЗрдЧрд╛ рдФрд░ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдЧрд╛ рдХрд┐ рдЙрд╕ рдЧрддрд┐рд╢реАрд▓ рдШрдЯрдХ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдбреЗрдЯрд╛ рдХреИрд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЪрд╛рдЗрд▓реНрдб рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдмрдЪреНрдЪреЗ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдпрд╣ async рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ Vue рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдХреНрдпрд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛)ред рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдирдИ рдЬрдЯрд┐рд▓рддрд╛ рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдврд╛рдВрдЪрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрдкрдХреЗ рддрд░реНрдХ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:

рдЖрдк рдЬреЛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рд╡реА-рдЗрдл/рд╡реА-рдШрдбрд╝реА/рд╡реА-рд╢реЛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдЬреИрд╕рд╛ рд╣реИ, рдЬреЛ рдЦрд░рд╛рдм рдкреНрд░рдерд╛рдУрдВ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рдХрд░ рдврд╛рдВрдЪреЗ рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рддреЗ рд╣реИрдВ

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╢реБрд░реВ async рдШрдЯрдХреЛрдВ рдорд╛рдЙрдВрдЯ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рдпрд╛ рдмрдирд╛рдИ рдЧрдИ рдЧрд▓рдд рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛, рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдХрд░рддрд╛ рд╣реИ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рджреВрд╕рд░рд╛, рдпрд╣ рд╕рд╡рд╛рд▓ рднреАрдЦ рдорд╛рдБрдЧ рд░рд╣рд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡реЗ рдмреБрд░реА рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реЛрдВ, рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдирдИ рдмреБрд░реА рдкреНрд░рдерд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрдЪрд┐рддреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк v-if , рдЖрджрд┐ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЬрд╛ рд░рд╣реА рдЦрд░рд╛рдм рдкреНрд░рдерд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ ... рдореИрдВ рдЖрдкрдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЕрдиреНрдп рдЕрдВрдХ рдореЗрдВ) рдХрд┐ рдЙрдирдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕реЗ рдФрдЪрд┐рддреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдЕрд▓рдЧ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдПред

@emahuni , рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХреЛрдИ рднреА рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЭрд╛ рдХреА рдЬрд╛ рд░рд╣реА рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдЕрд╕рд╣рдордд рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рдЕрддрд┐ рд╕реВрдХреНрд╖реНрдо рдЕрдВрддрд░ рд╣реИ, рдЬрд┐рд╕реЗ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЖрдЗрдП рдорд╛рди рд▓реЗрдВ рдХрд┐ async mounted рдпрд╛ async created рдШрдЯрдХ рдХреЛ рд░реЗрдВрдбрд░ рд╣реЛрдиреЗ рдореЗрдВ рджреЗрд░реА рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдпрд╣:

  • рдмреНрд▓реЙрдХ рднреА

рдорд╛рддрд╛-рдкрд┐рддрд╛ рдмрдЪреНрдЪреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд┐рдП рдмрд┐рдирд╛ рднреА рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╣ рдареАрдХ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдмрдЪреНрдЪреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж updated рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИред

  • рдорд╛рди рд▓реЗрдВ рдХрд┐ рдШрдЯрдХ рдХреЛ рд▓реЛрдб рд╣реЛрдиреЗ рддрдХ DOM v-if рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ ... рд▓реЗрдХрд┐рди рдЙрддреНрддрд░ рдирд╣реАрдВ рд╣реИ, рд╣рдо рдпрд╣ рдирд╣реАрдВ рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕реЗ рдХреЗрд╡рд▓ рдорд╛рдЙрдВрдЯреЗрдб рдХреЗ рджреМрд░рд╛рди рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЙрд╕ рджреМрд░рд╛рди рдорд╛рдЙрдВрдЯреЗрдб рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдирд╛ рд╣реИред рдЙрд╕рдХреЗ рд▓рд┐рдП рдКрдкрд░ рдкрдврд╝реЗ рдЧрдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВред

  • рдорд╛рди рд▓реЗрдВ рдХрд┐ рдШрдЯрдХ рдкреВрд░реНрдг рд▓реЛрдб рд╣реЛрдиреЗ рддрдХ рдЫреБрдкрд╛рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ

рдпрд╣ рдбреЗрд╡рд▓рдкрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЙрдВрдЯреЗрдб рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╣реБрдХ рдХреЛ рдПрд╕рд┐рдВрдХрд┐рдВрдЧ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

  • рдЗрд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рддрддреНрд╡ рджрд┐рдЦрд╛рдПрдБ?

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдмрд┐рд▓реНрдХреБрд▓ рди рд╣реЛред рдлрд┐рд░ рд╕реЗ рдпрд╣ рдбреЗрд╡рд▓рдкрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ рднреА рд╕реАрдзреЗ рдЬреИрдХреЗрдЯ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдм, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, v-if рдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд▓реНрдкрдирд╛ рдХреА рдереА рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╣рд░ рдмрд╛рд░ рдПрдХ рдШрдЯрдХ рдХреЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛ рдХреНрдпреЛрдВ рд░реЛрдХрдирд╛ рдЪрд╛рд╣реЗрдЧрд╛, рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╡реЗ рдХреНрдпрд╛ рд░рдЦреЗрдВрдЧреЗ рдФрд░ рдЗрд╕реЗ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╕рд╛рдмрд┐рдд рдХрд░реЗрдВрдЧреЗред рдбреЗрд╡рд▓рдкрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ v-if рд╕рд╛рде рдХрдИ рдЪреАрдЬреЗрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рдд рдХреА рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЙрд╕ рджреМрд░рд╛рди рд╕реНрдХреНрд░реАрди рдкрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдпрд╣ рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рдирд╣реАрдВ рд╣реИред

рдЬрдмрдХрд┐ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдШрдЯрдХ рдХреЗ рдЖрд╕-рдкрд╛рд╕ рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдПрдВ рд╕реБрд╕рдВрдЧрдд рд╣реИрдВ, рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╣рд╛рд░ рдЬреЛ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдЖрдИрдПрдордУ рд╣реЛрдЧрд╛ рдЬреЛ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдмрдЪреНрдЪреЗ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░реЗрдЧрд╛ рдФрд░ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдЧрд╛ рдХрд┐ рдЙрд╕ рдЧрддрд┐рд╢реАрд▓ рдШрдЯрдХ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдбреЗрдЯрд╛ рдХреИрд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЪрд╛рдЗрд▓реНрдб рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдмрдЪреНрдЪреЗ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдпрд╣ async рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ Vue рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдХреНрдпрд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛)ред рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдирдИ рдЬрдЯрд┐рд▓рддрд╛ рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдврд╛рдВрдЪрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

FYI рдХрд░реЗрдВ: рдЖрдк рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдЙрди рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдЧрд╛ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рд░реЛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╛рдж рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм Vue 3 рдХреЗ рдмрдЬрд╛рдп рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдкреЗрд╢ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред .

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрдкрдХреЗ рддрд░реНрдХ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:

рдЖрдк рдЬреЛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рд╡реА-рдЗрдл/рд╡реА-рдШрдбрд╝реА/рд╡реА-рд╢реЛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдЬреИрд╕рд╛ рд╣реИ, рдЬреЛ рдЦрд░рд╛рдм рдкреНрд░рдерд╛рдУрдВ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рдХрд░ рдврд╛рдВрдЪреЗ рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рддреЗ рд╣реИрдВ

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╢реБрд░реВ async рдШрдЯрдХреЛрдВ рдорд╛рдЙрдВрдЯ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рдпрд╛ рдмрдирд╛рдИ рдЧрдИ рдЧрд▓рдд рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛, рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдХрд░рддрд╛ рд╣реИ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рджреВрд╕рд░рд╛, рдпрд╣ рд╕рд╡рд╛рд▓ рднреАрдЦ рдорд╛рдБрдЧ рд░рд╣рд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡реЗ рдмреБрд░реА рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реЛрдВ, рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдирдИ рдмреБрд░реА рдкреНрд░рдерд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрдЪрд┐рддреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк v-if , рдЖрджрд┐ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЬрд╛ рд░рд╣реА рдЦрд░рд╛рдм рдкреНрд░рдерд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ ... рдореИрдВ рдЖрдкрдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ (рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдПрдХ рдЕрдиреНрдп рдЕрдВрдХ рдореЗрдВ) рдЙрдиреНрд╣реЗрдВ рдФрдЪрд┐рддреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ рдПрдХ рдЕрд▓рдЧ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдПред

рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЙрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рдШрдЯрдХ рдХреЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк async... рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣ рд░рд╣реЗ рдереЗред рдЙрдирдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд╣реИред рддреЛ рдХреНрдпрд╛ рд╣рдореЗрдВ рдЙрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ "рдмреБрд░реЗ рд╡реНрдпрд╡рд╣рд╛рд░" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕реЗ рдШрдЯрдХ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдЦрд╛рд▓реА рдкреГрд╖реНрда рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдк рдХрд┐рд╕реА рдХреЛ рднреА рдРрд╕рд╛ рдХрд░рддреЗ рд╣реБрдП рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдЖрдк рднрдпрд╛рдирдХ рд░реВрдк рдореЗрдВ рдЕрддреНрдпрдВрдд рджреБрд╖реНрдЯрддрд╛ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рджреЗрдЦрд┐рдП, рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐, рдпрджрд┐ рдЖрдк рдЕрднреА рддрдХ рдХреЛрдИ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рджреЗрдЦ рдкрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдордд рдХрд╣реЛ рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧ рдЗрд╕рдХрд╛ рдмреБрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдмреБрд░рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдЬреНрдЮрд╛рдирддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ рдФрд░ рдЕрдЬреНрдЮрд╛рдиреА рд╡реНрдпрдХреНрддрд┐ рдХрднреА рднреА рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдХрд┐рд╕реА рдиреЗ рдпрд╣ https://github.com/vuejs/vue/issues/7209#issuecomment -424349370 рдКрдкрд░ рдкреВрдЫрд╛ рдФрд░ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐рд╕реА рдиреЗ рдЙрд╕рдХрд╛ рдЙрддреНрддрд░ рдирд╣реАрдВ рджрд┐рдпрд╛ред рдпрд╣ рдЕрдм рддрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ Vue рдЗрд╕ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдкреАрдЫреЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рддрдм рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрдм async рдЕрднреА рддрдХ рдХреЛрдИ рдЪреАрдЬрд╝ рдирд╣реАрдВ рдереАред рддреЛ рдЖрдзреБрдирд┐рдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд▓рд┐рдП рдЖрдзреБрдирд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрджреНрдпрддрди рдХрд░рдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдЕрдиреНрдпрдерд╛ рдмрд╛рдХреА рд╣реИрдХрд┐рд╢ рдФрд░ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдЬреЛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЙрд╕реЗ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдЕрднреА рддрдХ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдирдЬрд╝рд░ рдореЗрдВ рдирдП рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдПрдкреАрдЖрдИ рдХреЛ рджреЗрдЦрдХрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреЛрдИ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╡реЗ рдЙрджреНрджреЗрд╢реНрдпрдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдЬреИрд╕реЗ рдПрд╕рд┐рдВрдХ рд▓рд╛рдЗрдлрд╕рд╛рдЗрдХрд┐рд▓ рд╣реБрдХред

рджреЗрдЦрд┐рдП, рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐, рдпрджрд┐ рдЖрдк рдЕрднреА рддрдХ рдХреЛрдИ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рджреЗрдЦ рдкрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдордд рдХрд╣реЛ рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧ рдЗрд╕рдХрд╛ рдмреБрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдмреБрд░рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдЬреНрдЮрд╛рдирддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ рдФрд░ рдЕрдЬреНрдЮрд╛рдиреА рд╡реНрдпрдХреНрддрд┐ рдХрднреА рднреА рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЙрд╕ рдмрд┐рдВрджреБ рдХреЛ рдХрднреА рдирд╣реАрдВ рдмрдирд╛рдпрд╛, рдореИрдВ рдпрд╣ рдореБрджреНрджрд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдШрдЯрдХ рдХреЛ рдкреНрд░рддрд┐рдкрд╛рджрди рд╕реЗ рдЕрд╡рд░реБрджреНрдз рдХрд┐рдП рдмрд┐рдирд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрд╕рд┐рдВрдХ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдпрд╣ рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реИ рдХрд┐ async рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ mounted рдпрд╛ created рдмреНрд▓реЙрдХ рдореЗрдВ рдХрд░рдиреЗ рд╕реЗ рдШрдЯрдХ рдХреЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдореЗрдВ рджреЗрд░реА рд╣реЛрдЧреАред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рдерд╛, рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдЙрдкрднреЛрдХреНрддрд╛, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЖрдЧреЗ рдмрдврд╝реЗрдЧрд╛ред рдЕрднреА рддрдХ рддрд░реНрдХ рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЬреЛ рдорд╛рдВрдЧрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдХрд┐рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЬреЛ рдорд╛рдВрдЧрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рдбрд┐рдлреЙрд▓реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк v-if="loaded" рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдШрдЯрдХ рдХреЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛ рдкрд╣рд▓реЗ рд╣реА рдЕрд╡рд░реБрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреЛрдб рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд┐рдП рдмрд┐рдирд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдЕрднреА рд╡рд╣ рдХреЛрдб рд╣реИ:

<template>
  <div>  
    <spinner v-if="!loaded">
    <div v-else>
      ....
    </div>
</template>

<script>
  async created() { 
    await this.loadData();
    this.loaded = true;
  }
</script>

рдФрд░ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд░реЗрдВрдбрд░ рдХрд░рдирд╛ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдорд╛рди рд▓реЗрдВ рдХрд┐ async created() рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдШрдЯрдХ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдлрд┐рд░ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдб рдХрд╛ рдкреГрдердХреНрдХрд░рдг рд╣реИред рд╕реНрдкрд┐рдирд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

<template>
  <div>  
    <spinner v-if="!loaded">
    <div v-else>
      ....
    </div>
</template>

<script>
  created() { 
    this.loadData().then(() => this.loaded = true);
  }
</script>

рдФрд░ рдмрд╕ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреА рдЧрдИ рд╕реНрдХреНрд░реАрди рдкрд░ рдШрдЯрдХ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВ

<template>
  <div>  
    <div>
      ....
    </div>
</template>

<script>
  async created() { 
    await this.loadData();
  }
</script>

рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╡рд╛рд░рдВрдЯ рдореЗрдХрд┐рдВрдЧ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рд░рд▓реАрдХрд░рдг рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдХрд┐рд╕ рд▓рд╛рдн рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ? рдореИрдВ рдмрд╕ рдЗрд╕реЗ рдирд╣реАрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБред

рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди

@ yyx990803 рдХреГрдкрдпрд╛ рдЗрд╕реЗ рджреЗрдЦреЗрдВ, рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдПрдХ рдЬрдЯрд┐рд▓ рдЙрдкрдпреЛрдЧ рдХреЗрд╕ рд╕реНрдХреЗрдиреЗрд░рд┐рдпреЛ рд╣реИред

рдареАрдХ рд╣реИ рдпрд╣рд╛рдБ рдПрдХ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЬреАрд╡рдирдЪрдХреНрд░ рдХреЗ рд╣реБрдХ рдореЗрдВ async рд╣реЛрдиреЗ рдкрд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ ... рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ:
_рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдПрдХ рдРрдк рдореЗрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд╕реВрд░рдд рдХреЛрдб рдорд┐рд▓рд╛ред рдпрд╣ coz_ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рдХрд╛рд▓реНрдкрдирд┐рдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ

рдореБрдЭреЗ рдШрдЯрдХ рдП рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдШрдЯрдХ рдмреА && рд╕реА рдХреЗ mounted рд╣реБрдХ рдХреЛ рд╕реНрд╡рдпрдВ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдЧ рд▓рдЧрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреА рдЬрд╛ рд╕рдХреЗред рддреЛ рдШрдЯрдХ рдП рдХреЗ mounted рдХреЛ рдЕрдкрдиреЗ created рд╣реБрдХ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕рдиреЗ рдШрдЯрдХ рдмреА && рд╕реА рдХреЗ рдмрдврд╝рддреЗ рдЯреНрд░рд┐рдЧрд░ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ _(рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реИ)_ред рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдмрд╣реБрдд рд╕рд╛рдл рдФрд░ рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рдпреБрдХреНрдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд░рд╣рддрд╛ рд╣реИред

A рдПрдХ рдЯреНрд░рд┐рдЧрд░ рдИрд╡реЗрдВрдЯ рдХрд╛ рдЙрддреНрд╕рд░реНрдЬрди рдХрд░рддрд╛ рд╣реИ рдФрд░ B рдФрд░ C рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реБрдирддрд╛ B рдФрд░ C рдЬрд╛рд░реА рд░рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ A рдХреЗ рд╕рд┐рдЧреНрдирд▓ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдПрдХ рдмрд╛рд░ рдорд╛рдЙрдВрдЯ рдХрд┐рдП рдЧрдП рдИрд╡реЗрдВрдЯ рдХрд╛ рдЙрддреНрд╕рд░реНрдЬрди рдХрд░рддреЗ рд╣реИрдВ)_ рдЬрд╛рд░реА рд░рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕рд░рд▓ред рдпрд╣ рд░рд╛рдЬреНрдп рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдХрд╣реАрдВ рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрд╛рд╣рд░реА рдбреЗрдЯрд╛ рдХреЗ

рдореБрдЦреНрдп рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдШрдЯрдХ , рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдШрдЯрдирд╛рдУрдВ рдФрд░ async рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╣реА рд▓реЛрдЧреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ ... рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рдпрд╣ рдХрдо рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпреЗ рдмрдЪреНрдЪреЗ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдЦреБрдж рдЖрджреЗрд╢ рджреЗрддреЗ рд╣реИрдВред

<template>
  <div>
     ...
     <component-A/>
     <component-B/>
     <component-C/>
     ... other conent
  </div>
</template>
<script>
  import ComponentA...
  ...
  export default {
      components: { ComponentA... }
  }
</script>

рдШрдЯрдХ рдП рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдмреА рдФрд░ рд╕реА рдХреЗ рдмрдврд╝рддреЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЯреНрд░рд┐рдЧрд░рд┐рдВрдЧ рдмрд╛рдж рдореЗрдВ рдЕрдиреНрдп рд╣реБрдХ рдореЗрдВ рдпрд╛ рд╕рдорд╛рди рдШрдЯрдХреЛрдВ рдХреЗ рдпреВрдПрдХреНрд╕ рдИрд╡реЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдпрд╣рд╛рдБ рд╕рд┐рд░реНрдл рд╡рд┐рдЪрд╛рд░ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред

<template>
  ...
</template>
<script>
  export default {
      async created() {
          // ...do something here before mounting thrusters, even await it
         this.root.$emit('mount-thrusters');
         await Promise.all([
            this.wasMounted('thruster-1-mounted'), 
            this.wasMounted('thruster-2-mounted')
         ]); 
      },
      mounted() {
        // will only run after components B and C have mounted
        ...
      },

     methods: {
       wasMounted(compEvent) {
          return new Promise( (resolve)=>this.root.$once(compEvent, ()=>resolve()));
       }
    }
  }
</script>

рдШрдЯрдХ рдмреА

<template>
  ...
</template>
<script>
  export default {
      async created() {
          // ...do something here, even await it, but happens at the same time as all components
         await new Promise( (resolve)=>this.root.$once('mount-thrusters', ()=>resolve()));
      },
     mounted() {
       this.root.$emit('thruster-1-mounted');
    }
  }
</script>

рдШрдЯрдХ рд╕реА

<template>
  ...
</template>
<script>
  export default {
      async created() {
          // ...do something here, even await it, but happens at the same time as all components
         await new Promise( (resolve)=>this.root.$once('mount-thrusters', ()=>resolve()));
      },
     mounted() {
       this.root.$emit('thruster-2-mounted');
    }
  }
</script>

рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХреЛ рдорд┐рд╢реНрд░рд┐рдд рдХрд░рдХреЗ рдФрд░ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рд╣реИрдВ, рдореИрдВ рдмрд╕ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред WasMounted рд╡рд┐рдзрд┐ рдХреЛ рдорд┐рдХреНрд╕рд┐рди рдореЗрдВ рдбрд┐рдмреНрдмрд╛рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕рднреА 3 рдШрдЯрдХреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣рд╛рдВ рд╣рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╣реИрдХрд┐рд╢ рдпрд╛ рд░рд╛рдЙрдЯрд░ рдХреЛрдб рдХреЗ рд╕рдорд╛рди рдЪреАрдЬрд╝ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реАрдВ рдФрд░ рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд┐рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рдмрд╣реБрдд рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдореЗрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЛ рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рдРрдк рдореЗрдВ рдХрд┐рдпрд╛ рд╣реИред

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдФрд░ рдЕрдЪреВрдХ рдХреЛрдб рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рджрд┐рд▓рд╛рддрд╛ рд╣реИред

рдЕрдм рдПрдХ рдмрдбрд╝реЗ рдРрдк рдореЗрдВ рдЗрд╕рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ 32 рдереНрд░рд╕реНрдЯрд░ рдШрдЯрдХ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдХреЗрд╡рд▓ 3 рдмрд┐рдВрджреБ рд╣реЛрдВрдЧреЗ, рдЬреЛ рдорд┐рд╢реНрд░рд┐рдд рд╣реЛрдиреЗ рдкрд░ рднреА 2 рддрдХ рдХрдо рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред

рдЪреАрдЬреЛрдВ рдХреЛ рддрд╛рдЬрд╛ рд░рдЦрдирд╛

coz рдХреА рдпрд╣ рдХреЗрд╡рд▓ рдШреБрдбрд╝рд╕рд╡рд╛рд░ рдФрд░ рдирд┐рд░реНрдорд┐рдд рддрдХ рд╣реА рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреНрдп рд╕рднреА рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдпрд╣ рдПрдХ рдЪрдордХрджрд╛рд░ рдирдП beforeActivate / beforeUpdate рд╣реБрдХ рдореЗрдВ рд╣реИред рд╣рдо рдШрдЯрдХ рдХреЛ _activation/update_ рдФрд░ рдХреЗрд╡рд▓ _active/update_ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдШрдЯрдХ _рд╕рдХреНрд░рд┐рдп/рдЕрдкрдбреЗрдЯ_ рд╣реЛрдиреЗ рдкрд░ рд╣рд░ рдмрд╛рд░ рд░рд┐рдлреНрд░реЗрд╢рдореЗрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЪреАрдЬреЗрдВ рддрд╛рдЬрд╛ рд░рд╣реЗрдВред

рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реВрдЪреА рдЕрдВрддрд╣реАрди рд╣реИред

рджреЗрдЦрд┐рдП, рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐, рдпрджрд┐ рдЖрдк рдЕрднреА рддрдХ рдХреЛрдИ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рджреЗрдЦ рдкрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдордд рдХрд╣реЛ рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧ рдЗрд╕рдХрд╛ рдмреБрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдмреБрд░рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдЬреНрдЮрд╛рдирддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ рдФрд░ рдЕрдЬреНрдЮрд╛рдиреА рд╡реНрдпрдХреНрддрд┐ рдХрднреА рднреА рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЙрд╕ рдмрд┐рдВрджреБ рдХреЛ рдХрднреА рдирд╣реАрдВ рдмрдирд╛рдпрд╛, рдореИрдВ рдпрд╣ рдореБрджреНрджрд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдШрдЯрдХ рдХреЛ рдкреНрд░рддрд┐рдкрд╛рджрди рд╕реЗ рдЕрд╡рд░реБрджреНрдз рдХрд┐рдП рдмрд┐рдирд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрд╕рд┐рдВрдХ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдпрд╣ рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реИ рдХрд┐ async рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ mounted рдпрд╛ created рдмреНрд▓реЙрдХ рдореЗрдВ рдХрд░рдиреЗ рд╕реЗ рдШрдЯрдХ рдХреЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдореЗрдВ рджреЗрд░реА рд╣реЛрдЧреАред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рдерд╛, рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдЙрдкрднреЛрдХреНрддрд╛, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЖрдЧреЗ рдмрдврд╝реЗрдЧрд╛ред рдЕрднреА рддрдХ рддрд░реНрдХ рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЬреЛ рдорд╛рдВрдЧрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдХрд┐рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЬреЛ рдорд╛рдВрдЧрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рдбрд┐рдлреЙрд▓реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк v-if="loaded" рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдШрдЯрдХ рдХреЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛ рдкрд╣рд▓реЗ рд╣реА рдЕрд╡рд░реБрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреЛрдб рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд┐рдП рдмрд┐рдирд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдЕрднреА рд╡рд╣ рдХреЛрдб рд╣реИ:

<template>
  <div>  
    <spinner v-if="!loaded">
    <div v-else>
      ....
    </div>
</template>

<script>
  async created() { 
    await this.loadData();
    this.loaded = true;
  }
</script>

рдФрд░ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд░реЗрдВрдбрд░ рдХрд░рдирд╛ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдорд╛рди рд▓реЗрдВ рдХрд┐ async created() рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдШрдЯрдХ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдлрд┐рд░ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдб рдХрд╛ рдкреГрдердХреНрдХрд░рдг рд╣реИред рд╕реНрдкрд┐рдирд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

<template>
  <div>  
    <spinner v-if="!loaded">
    <div v-else>
      ....
    </div>
</template>

<script>
  created() { 
    this.loadData().then(() => this.loaded = true);
  }
</script>

рдФрд░ рдмрд╕ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреА рдЧрдИ рд╕реНрдХреНрд░реАрди рдкрд░ рдШрдЯрдХ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВ

<template>
  <div>  
    <div>
      ....
    </div>
</template>

<script>
  async created() { 
    await this.loadData();
  }
</script>

рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╡рд╛рд░рдВрдЯ рдореЗрдХрд┐рдВрдЧ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рд░рд▓реАрдХрд░рдг рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдХрд┐рд╕ рд▓рд╛рдн рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ? рдореИрдВ рдмрд╕ рдЗрд╕реЗ рдирд╣реАрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБред

рдпрд╣ Vue 101 рдмреВрдЯрдХреИрдВрдк рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рдирдпрд╛ рдирд╣реАрдВ рд╣реИ... рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рдорд╛рдорд▓реЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдпрд╣рд╛рдВ рд╡рд┐рдЪрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рд▓реИрдВрдб рдореЗрдВ рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬрд╣рд╛рдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Vue рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддрд░реНрдХ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдкреНрд░рддрд┐рдкрд╛рджрди рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд░реЗрдВрдбрд░ рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рд╣реИред рд╣рдо рдХрд┐рд╕реА рдШрдЯрдХ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдпрд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪреАрдЬреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╡реИрд╕реЗ рднреА, рдЗрд╕рдХрд╛ рднреА рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рд╣реИрдВ рдЬреЛ Vue рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЕрдиреНрдп рд╣реБрдХ рдХреЗ рдЦрд┐рд▓рд╛рдл async рдХреЛрдб рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реЛред рдЕрдЧрд▓реЗ рд╣реБрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ Vue рдХреЛ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ async рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рд╕реЗ рднреНрд░рдорд┐рдд рд╣реВрдВ, рдмреА рдФрд░ рд╕реА рдХреЛ рдП рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рдХреЛрдб рдХреЛ "рд▓реЛрдб рдП" рдХреЛ рдП.рдЬреЗ.рдПрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреВрдВрдЧрд╛ рдФрд░ рдлрд┐рд░ рдП.рдЬреЗрдПрд╕ рдХреЛ "рдмреА.рдбреЗрдЯрд╛" рдФрд░ "рд╕реА.рдбреЗрдЯрд╛" рдЕрдкрдбреЗрдЯ рдХрд░ рджреВрдВрдЧрд╛ред . рдЗрд╕ рддрд░рд╣ рдЕрдЧрд░ рдП.рдбреЗрдЯрд╛ рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ рдмрджрд▓рддрд╛ рд╣реИ рддреЛ рдЕрдиреНрдп рдШрдЯрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдмрдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ
рдПрдХ рдШрдЯрдХ рд╕реЗ рджреВрд╕рд░реЗ рдШрдЯрдХ рдкрд░ рдирд┐рдпрдВрддреНрд░рдгред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдЕрднреА рднреА рдШрдЯрдХ рдП рд╕реЗ рдП рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░ рджреВрдВрдЧрд╛ред рд╣рдордиреЗ рдПрдХ рдПрдХрд▓ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдлрд╝реЗрдЪрдбрд╛рдЯрд╛ рдЬреИрд╕реЗ рддрд░реАрдХреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдФрд░ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдмрд╛рдж рд╡рд╛рд▓рд╛ рдПрдХ рд╡рд╛рджрд╛ рд╣реИ рдФрд░ рдкреВрд░реНрд╡ рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред
рдШрдЯрдХреЛрдВ рдХреЛ рд╕реАрдзреЗ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рдкреЗрдбрд╝ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдШрдЯрдХреЛрдВ рдХреЛ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ рдФрд░ рд╡реАрдпреВ рдХреЛ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЗрдЬрд╛рдЬрдд рджреЗрддрд╛ рд╣реИред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдореИрдВ emit рдШрдЯрдирд╛ рдХреЛ рд╕реАрдзреЗ рдП, рдмреА, рдФрд░ рд╕реА рдХреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рднреА рджреВрдВрдЧрд╛, рди рдХрд┐ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдкрд░, рдФрд░ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдпрд╣ рддрдп рдХрд░рдиреЗ рджреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдмреА рдФрд░ рд╕реА рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд

  <template>
    <a-component @rendered="showBandC = true" />
    <b-component v-if="showBandC" />
    <c-component v-if="showBandC" />
  </template>

рдП рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреА рдФрд░ рд╕реА рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ created() рд╡рд┐рдзрд┐ рдореЗрдВ рд╕рд╛рдорд╛рди рд╣реИ, рддреЛ рдХреБрдЫ рднреА рдЗрд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрд▓рд╛рд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдЯреЛрд░ рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдиреЗ рдпрд╛ store рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдЕрдзрд┐рдХ рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛, рдпрд╛рдиреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╣рд╛рдиреА рдХрд╛ рдпреВрдПрдХреНрд╕ рдХреНрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХреИрдкреНрдЪрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдЕрдЧрд▓реЗ рд╣реБрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ Vue рдХреЛ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ async рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣ рд╣рд┐рд╕реНрд╕рд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╣рд╛рдиреА рдХреА рддрд░рд╣ рдХреБрдЫ рдХреНрдпреЛрдВ рди рдХрд╣реЗрдВ:

рдореЗрд░реЗ рдШрдЯрдХ рдореЗрдВ async beforeMount рдФрд░ async mounted , рд▓реЗрдХрд┐рди mounted рдореЗрдВ рдХреЛрдб beforeMount рдореЗрдВ рдХреЛрдб рдкреВрд░рд╛ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдХреНрд░рд┐рдп рд╣реЛ рд░рд╣рд╛ рд╣реИред beforeMount рдкреВрд░рд╛ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдо mounted рдХреЛ рдлрд╛рдпрд░рд┐рдВрдЧ рд╕реЗ рдХреИрд╕реЗ рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВ?

рдореВрд▓ рдЕрдиреБрд░реЛрдз рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреВрд╕рд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЬреЛ рдкреНрд░рд╢реНрди рд╕рд╛рдордиреЗ рдЖрдпрд╛ рдерд╛ рд╡рд╣ рдЕрднреА рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ: https://github.com/vuejs/vue/issues/7209#issuecomment -350284784

рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрдВрдж, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдареЛрд╕ рддрд░реНрдХ/рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ/рдирд┐рд╣рд┐рддрд╛рд░реНрдереЛрдВ рдХреЗ рд╕рд╛рде рдЕрдиреБрд╡рд░реНрддреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдкрд░ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрдз рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ, рдпрд╛ рдпрд╣ рдЬреАрд╡рдирдЪрдХреНрд░ рдХреЗ рд╣реБрдХ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИред рдЕрдм рддрдХ рдЪрд░реНрдЪрд╛ рдкреНрд░рдХреГрддрд┐ рдореЗрдВ рджрд╛рд░реНрд╢рдирд┐рдХ рд░рд╣реА рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдЕрдЪреНрдЫреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдЪрд░реНрдЪрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ), рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдПрд╕рд┐рдВрдХ рдХреЛрдб рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИред рдореБрдЭреЗ рдПрди рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕рдЯреАрдХ рд╕рдорд╕реНрдпрд╛ рдереА рдЬрд┐рд╕рдиреЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдпрд╛ рдХреЙрд▓рдмреИрдХ рдкрд╛рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ (рдпрд╛ рдХреЙрд▓рдмреИрдХ рдкрд╛рд╕ рдХрд░реЗрдВ рд▓реЗрдХрд┐рди рдХреЙрд▓рдмреИрдХ рдкрд░ рдХреЙрд▓рдмреИрдХ рдкрд╛рд╕ рди рдХрд░реЗрдВ)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрд╕рд┐рдВрдХреНрд╕ рд▓рд╛рдЗрдлрд╕рд╛рдЗрдХрд┐рд▓ рд╣реБрдХ рд░рдЦрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдЪрд┐рдд рд╣реИ рдпрд╛ рдХреБрдЫ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдХрд╛рд░рдг рд╣реИрдВ рдЬреЛ "рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП"?

рдпрд╛рдиреА рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк unmount рдПрдХ рдРрд╕реЗ рдШрдЯрдХ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ created , рд╡рд╛рд╣, рдпрд╣ рдЕрднреА рднреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрд░рд╛ рд╣реЛрдЧрд╛ред рдпрд╛ destroying рдПрдХ рдЬреЛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ mounted , рдореИрдВ рдЙрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХрд░реНрддрд╛ рд╕реЗ рдИрд░реНрд╖реНрдпрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рд╕реЗ рднреНрд░рдорд┐рдд рд╣реВрдВ, рдмреА рдФрд░ рд╕реА рдХреЛ рдП рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рдХреЛрдб рдХреЛ "рд▓реЛрдб рдП" рдХреЛ рдП.рдЬреЗ.рдПрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреВрдВрдЧрд╛ рдФрд░ рдлрд┐рд░ рдП.рдЬреЗрдПрд╕ рдХреЛ "рдмреА.рдбреЗрдЯрд╛" рдФрд░ "рд╕реА.рдбреЗрдЯрд╛" рдЕрдкрдбреЗрдЯ рдХрд░ рджреВрдВрдЧрд╛ред . рдЗрд╕ рддрд░рд╣ рдЕрдЧрд░ рдП.рдбреЗрдЯрд╛ рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ рдмрджрд▓рддрд╛ рд╣реИ рддреЛ рдЕрдиреНрдп рдШрдЯрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдмрдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ

рд╡рд╣ рдЬрдЯрд┐рд▓рддрд╛ рдмрдврд╝реА рд╣реИ, рдмреБрд░рд╛ рдЕрднреНрдпрд╛рд╕ред рдЗрд╕реЗ рдпрд╣рд╛рдВ рдкреВрд░рд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдЖрдкрдиреЗ рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдмрд╣реБрдд рдмрдврд╝рд╛ рджрд┐рдпрд╛ рд╣реИред

рдПрдХ рдШрдЯрдХ рд╕реЗ рджреВрд╕рд░реЗ рдШрдЯрдХ рдкрд░ рдирд┐рдпрдВрддреНрд░рдгред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдЕрднреА рднреА рдШрдЯрдХ рдП рд╕реЗ рдП рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░ рджреВрдВрдЧрд╛ред рд╣рдордиреЗ рдПрдХ рдПрдХрд▓ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдлрд╝реЗрдЪрдбрд╛рдЯрд╛ рдЬреИрд╕реЗ рддрд░реАрдХреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдФрд░ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдмрд╛рдж рд╡рд╛рд▓рд╛ рдПрдХ рд╡рд╛рджрд╛ рд╣реИ рдФрд░ рдкреВрд░реНрд╡ рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдЕрдм рдШрдЯрдХреЛрдВ рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ A рдХреЛ рдЫреЛрдбрд╝рдХрд░ рджреВрд╕рд░реЗ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░реЗрдВред

рдШрдЯрдХреЛрдВ рдХреЛ рд╕реАрдзреЗ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рдкреЗрдбрд╝ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдШрдЯрдХреЛрдВ рдХреЛ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ рдФрд░ рд╡реАрдпреВ рдХреЛ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЗрдЬрд╛рдЬрдд рджреЗрддрд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдк рдмрд┐рдВрджреБ рдХреЛ рдпрд╛рдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпреЗ рд╢рд┐рдерд┐рд▓ рд░реВрдк рд╕реЗ рдЙрд╕ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рджреВрд╕рд░реЗ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдк <component-x /> , рдирд╣реАрдВ v-if , vuex рд╕реЗ рдмрд╛рд╣рд░ рдЕрдкрдиреЗ рд░рд╛рдЬреНрдп рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рддрд╛-рдкрд┐рддрд╛ рдореЗрдВ рдХреЛрдИ рдФрд░ рдХреЛрдб рд▓рд┐рдЦреЗ рдмрд┐рдирд╛ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рднреА рдХрдИ рдмрд╛рд░ рдХрд╣реАрдВ рднреА рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рди рд╣реА рдХреБрдЫ рдФрд░ред

рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдП рд╕реЗ рдмреА рдФрд░ рд╕реА рдХреЛ рдХреЗрд╡рд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛, рдореИрдВ рдЗрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддрд╛ рдерд╛ рдпрд╛ рд╕рд┐рд░реНрдл рдпрд╣ рдЧрд┐рди рд╕рдХрддрд╛ рдерд╛ рдХрд┐ рдХрд┐рддрдиреЗ рдШрдЯрдХреЛрдВ рдиреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреА рд╣реИ, рдлрд┐рд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕рдВрдЦреНрдпрд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░ рдЬрд╛рд░реА рд░рдЦреЗрдВ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ 2) рдЙрджрд╛рд╣рд░рдг:

 this.$root.$emit('thruster-mounted') // in B and C
// instead of 
 this.$root.$emit('thruster-1-mounted') // for B and 2 for C

// then count the responses and resolve once they are >= 2 in component A

рд╡реИрд╕реЗ рднреА, рдЗрд╕реАрд▓рд┐рдП рдореИрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рд╣реИрдВрдбрд▓рд┐рдВрдЧ, рдпрд╣ рд╡рд╛рдВрдЫрд┐рдд рдФрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХрдо рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛрддрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЙрддрдирд╛ рд╣реА рднреНрд░рдорд┐рдд рд╣реЛрддрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдореИрдВ emit рдШрдЯрдирд╛ рдХреЛ рд╕реАрдзреЗ рдП, рдмреА, рдФрд░ рд╕реА рдХреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рднреА рджреВрдВрдЧрд╛, рди рдХрд┐ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдкрд░, рдФрд░ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдпрд╣ рддрдп рдХрд░рдиреЗ рджреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдмреА рдФрд░ рд╕реА рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд

рдореБрдЭреЗ рдкрддрд╛ рдерд╛ рдХрд┐ рдЖрдк рдпрд╣ рдХрд╣рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд╡рд╛рдВрдЫрд┐рдд рд╣реИред рдЗрди рдШрдЯрдХреЛрдВ рдХреЛ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЬреЛрд░ рджрд┐рдпрд╛ рдХрд┐ рдореБрдЦреНрдп рдШрдЯрдХ рдХрдо рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рдмрдЪреНрдЪреЗ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рддрдВрддреНрд░ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдРрдк рдореЗрдВ рдХрд╣реАрдВ рднреА рд░рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдлрд┐рд░ рднреА рдпрд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ ред рдЬрд┐рд╕ рдХреНрд╖рдг рдЖрдк рд╡рд╣реА рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдк рд╡рд╣рд╛рдВ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ, рджреЗрдЦреЗрдВ рдХрд┐ рдХреИрд╕реЗ рд╕рдм рдХреБрдЫ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдбреАрдУрдПрдо рдкреЗрдбрд╝ рдореЗрдВ рдХрд╣реАрдВ рднреА рдмрд┐рдирд╛ рдлрд╝реНрд▓рд┐рдкрд┐рдВрдЧ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд░рдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рд╕рдм рдХреБрдЫ рдмрд╕ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреА рдХрдИ рдкреНрд░рддрд┐рдпрд╛рдВ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рдпрд╣ рдЕрднреА рднреА рдХрд╛рдо рдХрд░реЗрдЧреАред рдЬреАрд╡рдирдЪрдХреНрд░ рдкрд░ async ... await рдХреЗ рд▓рд┐рдП рд╕рднреА рдзрдиреНрдпрд╡рд╛рджред

  <template>
    <a-component @rendered="showBandC = true" />
    <b-component v-if="showBandC" />
    <c-component v-if="showBandC" />
  </template>

рдП рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреА рдФрд░ рд╕реА рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдорд╛рдЙрдВрдЯ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрджреНрд╡рд┐рддреАрдп рдХрд╛рд░реНрдп рдХрд░реЗред рд▓реЗрдХрд┐рди рд╕рднреА рдШрдЯрдХ рддрднреА рдкреНрд░рд╕реНрддреБрдд рд╣реЛрдВрдЧреЗ рдЬрдм рд╣рд░ рджреВрд╕рд░реЗ рдШрдЯрдХ рдиреЗ рд╡рд╣ рдХрд╛рдо рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рд╣реЛред рдпрд╣реАрдВ рдХрд╣рд╛рдиреА рд╣реИред
рд░рд╛рдЬреНрдп рдкреНрд░рдмрдВрдзрди рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рднрд╛рдЧреНрдп рдФрд░ v-if рдмрд╕ рдЗрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рд╢рд╛рдпрдж vuex store рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрдЧрд╛ред рдЬрд╣рд╛рдВ рднреА рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╣рд╛рдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛрдб рд▓рд┐рдЦреЗ рд╣реЛрдВрдЧреЗред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдФрд░ рдШрдЯрдХ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдП рдФрд░ рд╕реА рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЕрд▓рдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╣реИ? рдЙрд╕ рдХрд╛рдо рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрди v-if s, vuex State Management рдХреЛ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдХреНрдпрд╛ рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ? рдореБрдЭреЗ рд╕рдордЭрд╛рдиреЗ рджреЛ:

  // component Z totally different from foo, so we can't make this a component for reuse
  <template>
    <a-component @rendered="showBandC = true" />
    <c-component v-if="showBandC" />
  </template>
 ...
computed: {
showBandB() { ...vuex ...,
showBandC() { ...vuex ...,
}
  // component Foo totally unique, probably has other things it does
  <template>
    <b-component v-if="showBandC" />
    <c-component v-if="showBandC" />
  </template>
 ...
computed: {
// ok you could mixin this, fair, but complex nevertheless
showBandB() { ...vuex ...,
showBandC() { ...vuex ...,
}

..... рдФрд░ рдЖрдЧреЗ

рдорд╛рддрд╛-рдкрд┐рддрд╛ рдореЗрдВ рдХрднреА рднреА рдХреБрдЫ рднреА рдХрд┐рдП рдмрд┐рдирд╛ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп:

  // component Z
  <template>
    <a-component />
    <b-component />
  </template>
  // component Foo
  <template>
    <b-component  />
    <c-component />
  </template>

... рдЗрддреНрдпрд╛рджрд┐

рдпрджрд┐ created() рд╡рд┐рдзрд┐ рдореЗрдВ рд╕рд╛рдорд╛рди рд╣реИ, рддреЛ рдХреБрдЫ рднреА рдЗрд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрд▓рд╛рд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдЯреЛрд░ рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдиреЗ рдпрд╛ store рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдЕрдзрд┐рдХ рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛, рдпрд╛рдиреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╣рд╛рдиреА рдХрд╛ рдпреВрдПрдХреНрд╕ рдХреНрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХреИрдкреНрдЪрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдореИрдВрдиреЗ рд░рд╛рдЬреНрдп рдкреНрд░рдмрдВрдзрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдХрд╣рд╛ рдерд╛, рд╡рд╣ рд╣рд░ рдЬрдЧрд╣ рдмрд┐рдЦрд░рд╛ рд╣реБрдЖ рд╣реИ? рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдЗрди рдШрдЯрдХреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдХрд╣реАрдВ рдФрд░ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдХрд┐ рдореИрдВрдиреЗ рдЕрднреА рдЬреЛ рдХрд┐рдпрд╛ рдЙрд╕рдХреЗ рдмрдЬрд╛рдп рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╡рд╣ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬреЛ рдореИрдВ рдпрд╣ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ; рдХреЗрд╡рд▓ рддрднреА рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВ рдЬрдм рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдиреЗ рд╡рд╣ рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реЛ рдЬреЛ рдЙрд╕реЗ рдмрд╣реБрдд рдХрдо рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред

рдЕрдЧрд▓реЗ рд╣реБрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ Vue рдХреЛ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ async рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣ рд╣рд┐рд╕реНрд╕рд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╣рд╛рдиреА рдХреА рддрд░рд╣ рдХреБрдЫ рдХреНрдпреЛрдВ рди рдХрд╣реЗрдВ:

рдореЗрд░реЗ рдШрдЯрдХ рдореЗрдВ async beforeMount рдФрд░ async mounted , рд▓реЗрдХрд┐рди mounted рдореЗрдВ рдХреЛрдб beforeMount рдореЗрдВ рдХреЛрдб рдкреВрд░рд╛ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдХреНрд░рд┐рдп рд╣реЛ рд░рд╣рд╛ рд╣реИред beforeMount рдкреВрд░рд╛ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдо mounted рдХреЛ рдлрд╛рдпрд░рд┐рдВрдЧ рд╕реЗ рдХреИрд╕реЗ рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВ?

рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рдШрдЯрдХ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪреАрдЬреЗрдВ рд╣реЛрдВ рдФрд░ рдШрдЯрдХреЛрдВ рдХреЗ рдмрд╛рд╣рд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЗрдирдкреБрдЯ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рдпреЛрдЧ рдпреЛрдЧреНрдп рд╣реЛрдВред рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдореИрдВрдиреЗ рдЧреМрд░ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдмреЗрд╣рддрд░ рдХрд░ рд╕рдХрддрд╛ рдерд╛ рдЕрдЧрд░ рдпрд╣ рдПрдХ рдРрд╕рд╛ рдРрдк рдЙрдкрд▓рдмреНрдз рд╣реЛрддрд╛ рдЬрд┐рд╕реЗ рд╣рдо рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдореИрдВрдиреЗ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рд╣рд░ рдЬрдЧрд╣ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдорд┐рд╢реНрд░рдг, рд╡реАрдпреВрдПрдХреНрд╕ рдФрд░ рднрд╛рд░реА рдпреБрдЧреНрдорд┐рдд рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╣реИрдВ (рдорд┐рд╢реНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЧрд╛рдпрдм рд╣реИред рдпрд╣ рдХреЛрдИ рдЙрд▓рдЭреА рд╣реБрдИ рдХрд╣рд╛рдиреА рдирд╣реАрдВ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреЛ рд╣реБрдЖ рдЙрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рдмрддрд╛ рд░рд╣рд╛ рд╣реВрдВред рд╣рдореЗрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рдлрд┐рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ UI рдХреЛ рдХреИрд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдереЛрдбрд╝рд╛ рдХрдо рджрд┐рд▓рдЪрд╕реНрдк рджреГрд╖реНрдЯрд┐ рд╕реЗ рдФрд░ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдХреЛрдб-рд╡рд╛рд░ рдорд┐рд▓рд╛ред

рдХреНрдпрд╛ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рд╕рд░рд▓ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдХрд┐рддрдиреА рдЬрдЯрд┐рд▓ рдЪреАрдЬреЗрдВ рдкреЗрд╢ рдХреАрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЙрд╕ рдЫреЛрдЯреЗ рд╕реЗ async рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ... рдЬреАрд╡рдирдЪрдХреНрд░ рдореЗрдВ рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕реБрд╡рд┐рдзрд╛?

@wparad

рдпрд╛рдиреА рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдХрд┐рд╕реА рдРрд╕реЗ рдШрдЯрдХ рдХреЛ рдЕрдирдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЕрднреА рднреА рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рд╡рд╛рд╣, рдпрд╣ рдЕрднреА рднреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрд░рд╛ рд╣реЛрдЧрд╛ред рдпрд╛ рдПрдХ рдХреЛ рдирд╖реНрдЯ рдХрд░рдирд╛ рдЬреЛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдореИрдВ рдЙрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХрд░реНрддрд╛ рд╕реЗ рдИрд░реНрд╖реНрдпрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ред

рдпрд╣ рдХрд╣рд╛рдБ рд╣реИ:

... рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рдореМрд▓рд┐рдХ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░/рдкреБрдирд░реНрд▓реЗрдЦрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рддрд░реНрдХ рддреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЬреАрд╡рди рдЪрдХреНрд░ рд╣реБрдХ рдХреА рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рдХреГрддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ ...

... рднрд╛рдЧ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЖрдк рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛ред рд╣рдореЗрдВ рдЗрди рдХрд┐рдирд╛рд░реЗ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╢рд╛рдпрдж рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рдпрд╣ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╣рдорд╛рд░реЗ рдЗрд░рд╛рджреЗ рдРрдк рдХреЛ рдХреНрд░реИрд╢ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЙрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореИрдВ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЛ рдЬрд╛рдВрдЪрдиреЗ рдпрд╛ рдирд┐рд░рд╕реНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрд╕рд┐рдВрдХ рдСрдкрд░реЗрд╢рдВрд╕ рдХреА рддрд░рд╣ рд╡рд┐рдлрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рджреЗрдЦреЗрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдореЗрд░рд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдмрд┐рдирд╛ рдХрд╣реАрдВ рдЬреНрдпрд╛рджрд╛ рдХреЛрдб рд▓рд┐рдЦреЗред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрджрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реЛрддрд╛ рддреЛ рд╣рдорд╛рд░рд╛ рдРрдк рдмрд╣реБрдд рдЫреЛрдЯреЗ, рдбреАрдлрд╝реНрд░реИрдЧреНрдореЗрдиреНрдЯреЗрдб рдФрд░ рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдХреЛрдбрдмреЗрд╕ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддрд╛ рдерд╛ред
рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЙрдирдХреЗ рдорд╣рддреНрд╡ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╕рдбрд╝рдХ рдкрд░ рдЖрдиреЗ рдХреЗ рдмрд╛рдж рджреЗрдЦрддреЗ рд╣реИрдВред рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдЗрд╕ рдкреГрд╖реНрда рдкрд░ рдЖрдпрд╛ рдерд╛ рдЬрдм рд╣рдордиреЗ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рдХрд╛рдордХрд╛рдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ рдерд╛ рдЬреЛ рдореИрдВрдиреЗ рдЕрднреА рджрд┐рдпрд╛ рдерд╛ред рдореИрдВ рдорджрдж рд▓реЗрдиреЗ рдирд╣реАрдВ рдЖрдпрд╛ рдерд╛, рдпрд╣ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ Vue рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рдерд╛ред

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