Vue: рдмрд╢рд░реНрддреЗ рдкреНрд░реЙрдкрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХреЛрдВ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 7 рдЬреВрди 2017  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: vuejs/vue

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

2.3.3

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

http://jsfiddle.net/p861bj9y/

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

рдореИрдВрдиреЗ рдЬрд┐рд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЙрд╕рдХрд╛ рдиреНрдпреВрдирддрдо рдкреНрд░рдЬрдирди рдХрд┐рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ JSX рдХреА рдЬрд░реВрд░рдд рд╣реИред

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

рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╕реЗ рдиреАрдЪреЗ рдкрд╛рд░рд┐рдд рдЧреБрдг ctx.injections рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдЪрд╛рд╣рд┐рдПред

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

Ctx.injections рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдЦрд╛рд▓реА рд╣реИред рдЧреБрдгреЛрдВ рдХреЛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

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

рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ v3 рдореЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ?

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

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

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ parent , child рдХреЛ vm (рд╢рд╛рдпрдж рдПрдХ рдореБрджреНрджрд╛) рдХреЗ рдмрдЪреНрдЪреЗ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ рдЖрдкрдХреЛ provide vm рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

BTW, рдЖрдкрдХреА рдлреЗрд▓реНрдЯ [email protected] iddle рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░

рдЗрдВрдЬреЗрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реБрдХрдЕрдк рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдмрдЪреНрдЪреЗ рдХреЛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдЬрдбрд╝ рддрдХ рдкреНрд░реЙрдкреНрд╕ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ $parent рдкрджрд╛рдиреБрдХреНрд░рдо рджреЗрддрд╛ рд╣реИред
https://github.com/vuejs/vue/blob/b182ac40697edbe8253d4bd68b6ac09e93259e1c/src/core/instance/inject/js#L59 -L59

рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рдлрд┐рдбреЗрд▓ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХреА, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ https://jsfiddle.net/Austio/vhgztp59/7/ рдкрд░ рднрд╛рдЧ рд▓рд┐рдпрд╛, рддреЛ рдпрд╣ рдлрд┐рдбрд▓ $ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдмрд╛рд▓ рдШрдЯрдХ рдкрд░ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдерд╛ рдЬрдм рдореИрдВ рд▓реБрдХрдЕрдк рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдорд┐рд▓рд╛ред рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдПрдХ рд╢реБрд░реБрдЖрдд рд╣реИ рдЕрдЧрд░ рдпрд╣ рд╕реНрд▓реЙрдЯреНрд╕ рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдФрд░ рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдпрд╣ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрд▓реЙрдЯреНрд╕ рд╣рд▓ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

@Kingwl рд╕рд╣реА рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ рддрдХрдиреАрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреА рддрд░рд╣ рд╣реИред

рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЙрдард╛рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╛рдЧрд▓ рд╣реЛ рд░рд╣рд╛ рдерд╛ред рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдЙрди рдШрдЯрдХреЛрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╡реЗ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЬрдм рдПрдХ рд╕реНрд▓реЙрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдмрд╛рд╣рд░реА рдШрдЯрдХ рд╕реЗ рдЬреБрдбрд╝ рдЬрд╛рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЧреИрд░-рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ:

рдХрдВрдЯреЗрдирд░ mode: 'foo' рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ <div><slot/></div>

<!-- rendered in App -->
<container>
   <!-- parent is App, mode is undefined -->
  <functional></functional>
</container>

<container>
   <!-- parent is container, mode is foo -->
  <not-functional></not-functional>
</container>

http://jsfiddle.net/p861bj9y/

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: @alidcastano рдореИрдВрдиреЗ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ

рдлреЗрд▓ рдореЗрдВ рдЧрд▓рдд Vue рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рдореИрдВ JSX рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рднреА рдкрдХрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕рдХрд╛ рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рдирд╣реАрдВ рдерд╛ред @posva рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

-

рддреЛ рдпрд╣рд╛рдВ рдореБрджреНрджрд╛ рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдЧреБрдгреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрд▓реЙрдЯ рд╕реЗ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?

@LinusBorg "рддрдХрдиреАрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛" рд╕реЗ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ рдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИ?

рдХреНрдпрд╛ рдХрдВрдЯреЗрдирд░ рдХреЛ vm рд░реВрдк рдореЗрдВ рд╕реЗрд╡рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдкреНрд░реЙрдкрд░ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рдЬрд╛рдЗрди рдЗрд╕ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛:

// before
<parent-component>
  <child-component />
</parent-component>

// after
<vm-container>
   <parent-component>
     <child-component />
   </parent-component>
<vm-container>

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

vm-container рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрд▓реЙрдЯ рдХреЛ app рд╕рдВрджрд░реНрдн рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

"рддрдХрдиреАрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛" рд╕реЗ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ рдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИ?

рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХреЛрдВ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдШрдЯрдХреЛрдВ рдХреЗ рдЗрд╕ рд╕реЗрдЯ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

<!-- template of a `parent` component -->
<template>
  <Child>
    <functional />
  </Child>
</template>

рдЬрдм рдЖрдк рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдШрдЯрдХ рдХреЗ рд╕реНрд▓реЙрдЯ рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╡рд╣ рдмрдЪреНрдЪреЗ рдХреЛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддрд╛рдХрд┐ рдмрдЪреНрдЪреЗ рдХреЗ рдШрдЯрдХ рдХреЛ рд╕реНрд▓реЙрдЯ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рдгрд╛рдореА vNodes рдкреНрд░рд╛рдкреНрдд рд╣реЛ рд╕рдХреЗред (*)

рдКрдкрд░ рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдордп рдХрд┐ <functional> рдШрдЯрдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЙрдкрд▓рдмреНрдз рдорд╛рддрд╛-рдкрд┐рддрд╛ рдмрд╛рд╣рд░реА рдШрдЯрдХ ( <parent> ) рд╣реИрдВ, рди рдХрд┐ <child> ред

рдирддреАрдЬрддрди, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдПрдХрдорд╛рддреНрд░ рдЗрдВрдЬреЗрдХреНрд╢рди рд╡реЗ рд╣реИрдВ рдЬреЛ <parent> рдореЗрдВ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИрдВред


(*): рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХреЗ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЖрдВрддрд░рд┐рдХ рдореИрдХреЗрдирд┐рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

@posva @LinusBorg рдЗрд╕реЗ рд╕рдордЭ рдЧрдпрд╛, рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рддреЛ рдЗрди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди / рдЗрдВрдЬреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ app рд╕рдВрджрд░реНрдн рдореЗрдВ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдкреНрд░реЙрдкреНрд╕ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕ рдмрд╛рдзрд╛ рдХреЛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХреГрдкрдпрд╛ рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░реЗрдВ рдЕрдЧрд░ рдХреБрдЫ рдФрд░ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдХрд░рдиреЗ рдпрд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ; рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж!

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕реНрд▓реЙрдЯ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЦреЛрдЬ рд╕рдХреЗрдВ
рд▓реЗрдХрд┐рди рдлрд┐рд▓рд╣рд╛рд▓, рдЗрд╕реЗ @posva рдХреА рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ @LinusBorg рдиреЗ рдХрд╣рд╛

@Kingwl рдЗрд╕реЗ рдЦреБрд▓рд╛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕реЗ рдкрдВрдЬреАрдХреГрдд рдРрдк рдХреЗ рддрд╣рдд рдЖрдиреЗ рд╡рд╛рд▓реЗ рдШрдЯрдХреЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

...

export default Vue.extend({
  render (h) {
    return (
      <div>
        <ParentComp>
          <ChildFuncComp/>
        </ParentComp>
      </div>
    )
  },

  provide () { // data that needs to be injected into functional components 
    return {
       msg: 'hello'
    }
  },

  components: {
    ParentComp,
    ChildFuncComp
  }
})

рдлрд┐рд░ рдореЗрд░реА рд╕рдордЭ рд╕реЗ, рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдпрд╣ рдРрд╕рд╛ рд╣реЛрдЧрд╛:

// template
<div id="app">
   <div id="#someWhereInApp" />
</div>

// script 
import SuperCoolComponent from 'SuperCoolComponent' 

export default {
   mounted () {
    this.$once('mounted', () => new SuperCoolComponent().$mount('#someWhereInApp'))
    this.$emit('mounted')
  }
}

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

рдореИрдВ рдкреНрд░рджрд╛рди / рдЗрдВрдЬреЗрдХреНрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдкреВрд░реНрдг рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛

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

@Kingwl рдЖрдк рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ?

рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ v3 рдореЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ?

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

рдХрд┐рд╕реА рднреА рдЕрджреНрдпрддрди?

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

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

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

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

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

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

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