Vue: Плохой синтаксический анализ, когда связанные данные содержат обратную кавычку

Созданный на 14 июл. 2016  ·  5Комментарии  ·  Источник: vuejs/vue

Версия Vue.js

1.0.26

Ссылка на воспроизведение

http://codepen.io/sirlancelot/pen/zBPVBo?editors=1010#0

Действия по воспроизведению

  • Свяжите встроенный объект со значением, содержащим обратный апостроф

    Что ожидается?

  • Объект правильно воспроизводится в модели данных

    Что на самом деле происходит?

  • scope. добавляется ко всему между обратным апострофом и экранированной кавычкой.

Мы используем реквизиты для преобразования исходной модели данных с сервера в браузер. Мы делаем это аналогично примеру, показанному в CodePen. По сути, наш корневой экземпляр Vue содержит список свойств, которые будут отображаться в элементе и заполняются сервером.

Самый полезный комментарий

@LinusBorg - я использовал https://www.debuggex.com/ очень удобно!

Все 5 Комментарий

В качестве временного обходного пути вы можете обойти проблему, сняв обратную кавычку.

//broken
:items="[{'title':'one','value':1},{'title':'t`wo','value':2}]"

//works
:items="[{'title':'one','value':1},{'title':'t\`wo','value':2}]"

Любому, кто исследует, кажется, что проблема не возникает, если массив содержит только один элемент.

Я внес изменения в регулярное выражение, и теперь оно, похоже, работает нормально. Однако это казалось очень важным регулярным выражением, и я не уверен в патче.

До

screen shot 2016-07-19 at 10 45 27 pm

После

(Я выделил часть красным)

screen shot 2016-07-19 at 10 45 02 pm

@skyronic, что это за инструмент RegExp? выглядит очень полезным ...

@LinusBorg - я использовал https://www.debuggex.com/ очень удобно!

@skyronic thx! Я часто использую

Была ли эта страница полезной?
0 / 5 - 0 рейтинги