Всем привет.
В документации написано следующее:
JS-параметры. Если значение не falsy, то миксует i-bem и добавляет содержимое в JS-параметры.
Пример(%0A%20%20tag()(%27div%27)%2C%0A%20%20bem()(false)%2C%0A%20%20js()(%7Bkey%3A%20%27value%27%7D)%0A%2F%2F%20%20%20js()(true)%0A)%3B%0A&bemjson=(%5B%0A%20%20%7B%20block%3A%20%27link%27%2C%20content%3A%20%27content%27%2C%20cls%3A%20%27some-class%27%20%7D%2C%0A%20%20%7B%20tag%3A%20%27br%27%20%7D%2C%0A%20%20%7B%20block%3A%20%27link%27%2C%20content%3A%20%27content%27%20%7D%0A%5D)%3B%0A):
([
{ block: 'link', content: 'content', cls: 'some-class' },
{ tag: 'br' },
{ block: 'link', content: 'content' }
]);
block('link')(
tag()('div'),
bem()(false),
js()({key: 'value'})
);
<div class="some-class i-bem">content</div>
<br>
<div>content</div>
Это баг? Почему cls
так влияет на результат?
Наверное вывод должен быть 1 из:
// Судя по документации это должно быть правильным результатом
<div class="some-class">content</div>
<br>
<div>content</div>
или
<div class="some-class i-bem">content</div>
<br>
<div class="i-bem">content</div>
@vill в самом деле похоже на баг, будем чинить. спасибо!
https://github.com/bem/bem-xjst/issues/498
Мне кажется, что если есть
cls
иbem: false
, то нужно выводить только значениеcls
в HTML class. И, естественно, не выводить js params.+bem-xjst@8.8.6