Jade — вывести много переменных в одну строку

Я пытаюсь напечатать несколько переменных, которые я передал из контроллера, для просмотра в одной строке.
Содержимое переменных похоже на «xyz», где тег — допустимый HTML-тег.
Что я делаю сейчас является -

div
  != (notification.content + notification._.publishedDate.format('MMMM Do, YYYY'))

Однако это печатает div в две строки.
Сгенерированное содержимое html:

<div>
    <p>School is closed tomorrow&nbsp;<a href="http://www.booking.com">link</a></p>
     March 7th, 2016
</div>

Кроме того, я не могу сделать -

p= (notification.content + notification._.publishedDate.format('MMMM Do, YYYY'))

Поскольку вывод такой, то в HTML -

<p>&lt;p&gt;School is closed tomorrow&amp;nbsp;&lt;a href="http://www.booking.com"&gt;link&lt;/a&gt;&lt;/p&gt;March 7th, 2016</p>

person iajnr    schedule 09.03.2016    source источник
comment
Я не совсем уверен, что вы пытаетесь сделать... Вы хотите объединить все переменные в 1 строку с преобразованными тегами html, но в содержании также есть теги <p>? Поэтому, если вы хотите, чтобы он был в сети, вам нужно убедиться, что в уведомлении.content нет «заблокированных» тегов...   -  person JasperV    schedule 10.03.2016
comment
Да, это так   -  person iajnr    schedule 10.03.2016
comment
Как я уже сказал, убедитесь, что в содержимом нет тегов ‹p›, или стилизуйте div, в котором вы объединяете переменные, и установите p{ display: inline-block; }   -  person JasperV    schedule 10.03.2016


Ответы (1)


Привет!

Посмотрите несколько способов отображения вашего сообщения с помощью Jade/HTML.

Пожалуйста, протестируйте эти способы и используйте лучшее в своем проекте:


Объявление переменных

// Variable with `<p></p>`
- var notification = {content: '<p>School is closed tomorrow <a href="http://www.booking.com">link</a></p>', publishedDate: '2016-03-07'}

// Variable withOUT `<p></p>`
- var test = {content: 'The message <a href="#">link</a>', publishedDate: '2016-03-07'}

1) Вернуть экранированный текст

div #{notification.content} #{notification.publishedDate}

// Return | escaped string:
// <p>School is closed tomorrow <a href="http://www.booking.com">link</a></p> 2016-03-07

2) Возврат HTML-кода (неэкранированные | настоящие теги)

div !{notification.content} !{notification.publishedDate}

// Return | unescaped (2 lines)
// School is closed tomorrow link
// 2016-03-07

3) Вернуть встроенный HTML-код (тоже без экранирования)

Вам нужно изменить записи массива. См. тест var выше (об объявлении переменных):

div: p !{test.content} !{test.publishedDate}

// Return | unescaped (1 line)
// The message link 2016-03-07

Если у вас работает, попробуйте применить свои собственные переменные и правила.
Я изучаю Jade. Я надеюсь помочь вам.

– Если у вас есть сомнения, прокомментируйте здесь или поговорите со мной @devromulobastos

person romulobastos    schedule 10.03.2016