Vue: рд░реВрдЯ рддрддреНрд╡ рдХреЛ рдЗрдВрдбреЗрдВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж Vue.js рд╕рд░рд╕реЛрдВ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВ рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдЕрдкреНрд░реИрд▓ 2018  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: vuejs/vue

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

2.5.16

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

https://codesandbox.io/s/6jnlpno3lw

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

рдпрд╣ рд╕рдорд╕реНрдпрд╛ рддрдм рд╣реЛрддреА рд╣реИ, рдЬрдм рдореВрд▓ рддрддреНрд╡ рдЗрдВрдбреЗрдВрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдореВрдВрдЫреЗрдВ рдХрдИ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред

<template>
<div>
    <p>{{
        myVar
    }}</p>
</div>
</template>

рдХреЗрд╡рд▓ рдЬрдм рдореВрд▓ рддрддреНрд╡ рдХреЛ рдЗрдВрдбреЗрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореВрдВрдЫреЗрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИрдВред

<template>
    <div>
        <p>{{
            myVar
        }}</p>
    </div>
</template>

рдпрд╣ рднреА рдХреНрдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрдм рдореВрдВрдЫреЗрдВ рдПрдХ рд╣реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдбрд╛рд▓ рджреА рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рдЬрдбрд╝ рддрддреНрд╡ рдЗрдВрдбреЗрдВрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

<template>
<div>
    <p>{{ myVar }}</p>
</div>
</template>

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

рдореВрдВрдЫреЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдмрд╛рдВрдзрдирд╛ рдЪрд╛рд╣рд┐рдП

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

рдореВрдВрдЫреЗрдВ рд╕рд╛рджреЗ рдкрд╛рда рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреА рд╣реИрдВ


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

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

рдХреЛрдИ рдЙрдирдХреЗ рдХреЛрдб рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреНрдпреЛрдВ рд▓рд┐рдЦреЗрдЧрд╛?

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

<template> рдФрд░ root element рдмреАрдЪ рдПрдХ рдПрдХрд▓ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

<template> <p>{{
  myVar
}}</p></template>

рдЙрдирдХреЗ рдмреАрдЪ рдХреЛрдИ рд╕реНрдерд╛рди рдирд╣реАрдВ рд╣реИ:

<template><p>{{ 
  myVar
}}</p></template>

рдХреЛрдИ рдЙрдирдХреЗ рдХреЛрдб рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреНрдпреЛрдВ рд▓рд┐рдЦреЗрдЧрд╛?

@syntacticsolutions рдпрд╣ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ, рд╣реИ рдирд╛?

рдзрдиреНрдпрд╡рд╛рдж @DanielSharkov , рдпрд╣ рдПрдХ рдмрдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрдВрдбреЗрдВрдЯ рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдореВрд▓ рдХрд╛рд░рдг рд╣реИ: https://github.com/yyx990803/de-indent/blob/master/index.js#L17 -L24

    if (c === ' ' || c === '\t') {
      type = c
      cur = count(line, type)
      if (cur < min) {
        min = cur
      }
    } else {
      return str

рд╢рд╛рдпрдж рд╣рдореЗрдВ \ r рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП? рдЯреЗрдХреНрд╕реНрдЯ рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди рд░реЗрдЧреЗрдХреНрд╕рдк рдореЗрдВ рдкреИрдЯрд░реНрди:

https://github.com/vuejs/vue/blob/5e3823a5766da1df60481e1e7a20f36d08e716ce/src/compiler/parser/text/parser.js#L6 -L13

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

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

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

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

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

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

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