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

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

Похожие вопросы