Vue: Vue.js mustach tidak dirender dengan benar hanya setelah memasukkan elemen root

Dibuat pada 29 Apr 2018  ·  4Komentar  ·  Sumber: vuejs/vue

Versi: kapan

2.5.16

Tautan reproduksi

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

Langkah-langkah untuk mereproduksi

Masalah ini terjadi, ketika elemen root tidak menjorok ke dalam dan kumis dibagi menjadi beberapa baris.

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

Hanya ketika elemen root diindentasi, kumis dirender dengan benar.

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

Yang juga berhasil, adalah ketika kumis dimasukkan ke dalam satu baris dan elemen root tidak menjorok ke dalam.

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

Apa yang diharapkan?

Kumis harus mengikat data

Apa yang sebenarnya terjadi?

Kumis dirender teks biasa


Hanya ingin mendandani kode saya, jadi saya membagi kumis menjadi beberapa baris dan menghapus indentasi elemen root.

bug has PR

Komentar yang paling membantu

Mengapa ada orang yang menulis kode mereka seperti itu?

Semua 4 komentar

berfungsi dengan satu spasi antara <template> dan root element :

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

tidak tanpa spasi di antara keduanya:

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

Mengapa ada orang yang menulis kode mereka seperti itu?

@syntacticsolutions Ini tidak masalah, faktanya ini bug, bukan?

Terima kasih @DanielSharkov , ini pasti bug.

Akar penyebab perilaku berbeda dengan indentasi ada di bawah ini: 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

Mungkin kita harus menambahkan \ r? pola dalam regexp interpolasi teks:

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

Apakah halaman ini membantu?
0 / 5 - 0 peringkat