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
Перепробовал кучу вариантов, гуглил, но больше сил нет)
  • Вопрос задан
  • 88 просмотров
Решения вопроса 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
про шаблонные строки прочитайте, интересная информация, говорят
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
Ingram Micro Cloud Москва
от 170 000 руб.
//stablecode Вена
от 110 000 до 140 000 руб.
IT Company Санкт-Петербург
от 120 000 до 200 000 руб.