Создание динамических классов в Jade/Pug

Я пытаюсь добавить динамический класс в нефритовый шаблон. Вот так:

- var obj = {a: 1, b: 2, c: 3};
- var len = Object.keys(obj).length;

.abc-#{len}

Но компилятор возражает против этого:

  > 4| .abc-#{len}
------------^

Unexpected token `interpolation` expected `text`, `interpolated-code`, `code`, `:`, `slash`, `newline` or `eos`

Я пробовал все, что мог придумать. Просматривал https://pugjs.org/language/interpolation.html. Мог бы действительно использовать руку.

Спасибо.


person NotoriousWebmaster    schedule 16.12.2016    source источник


Ответы (2)


Ты можешь это сделать:

div(class="abc-"+len)

атрибуты прерываются автоматически, подробнее об атрибутах

person TedMeftah    schedule 16.12.2016
comment
Значение класса также может быть массивом: div(class=['foo', 'bar', 'baz'] - person OscarRyz; 15.05.2019

Вы также можете использовать литералы шаблонов ES6. Например.

div(class=`static_${dynamic_variable}` 

В твоем случае:

div(class=`abc-${len}`)

Веселиться.

person Ahmad Awais    schedule 06.07.2018