kodenji
@kodenji

Как сделать конкатенацию строк, если в строке содержится одинарная кавычка?

Во vue.js есть template
id = "'" + obj[i].id + "'"
symbol = "'" + obj[i].symbol + "'"
name = '"' + obj[i].name + '"'

В name такая строка: BlaBla's bar - есть одинарная кавычка, помещаю строку в двойные кавычки, код выше
template += '<tr>'
template += '<td><a href="#" @click.prevent="addRow(' + id + ',' + symbol + ',' + name + ')">Add to Row</a></td>'
template += '</tr>'

Не компилируется шаблон
BlaBla's bar")">Add to Row
Перепробовал кучу вариантов, гуглил, но больше сил нет)
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
@dimoff66
Кратко о себе: Я есть
var kav = "'"
params = [obj[i].id, obj[i].symbol, obj[i].name].map(
    v => kav + ('' + v).replace(kav, "\\'") + kav
)

template += '<td><a href="#" @click.prevent="addRow(' 
    + params + ')">Add to Row</a></td>'
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Fragster
@Fragster
помогло? отметь решением!
https://learn.javascript.ru/string

Если лень настраивать среду для использования однофайловых компонентов, переходите на X-Templates

А вообще судя по тому, как формируется текст шаблона - вы как то не поняли, зачем вообще нужен vue.
Ответ написан
@nvdfxx
Senior Pomidor developer
про шаблонные строки прочитайте, интересная информация, говорят
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Страховой Кабинет Нижний Новгород
от 60 000 до 90 000 руб.
от 90 000 до 220 000 руб.
от 60 000 до 90 000 руб.
23 июл. 2019, в 23:31
9000 руб./за проект
23 июл. 2019, в 22:14
18000 руб./за проект
23 июл. 2019, в 20:31
500 руб./за проект