Следующие конструкции не работают:
block('block').elem('elem').elemMod('mod-name', 'mod-value')
block('block').elem('elem').mod('mod-name', 'mod-value')
Пример из руководства по технологии по bemhtml (http://ru.bem.info/technology/bemhtml/2.3.0/bemhtml-js-syntax/) вообще вызывает ошибку
block('b-head-logo')(elem('text').elemMod('size', 'big'))
Работает только следующая конструкция:
block('block').elem('elem').match('mod-value' == this.ctx.mods['mod-name'])
Я так понимаю это бага?
Странно что не сработала конструкция с
elemMod
. Только что протестил, у меня работает:@dab подтверждаю. У меня тоже работает
Вот такая история у меня не отрабатывает. bem v0.8.1
block('form').elem('result').elemMod('type', 'basic')( content()(function () {
);
Заменяешь elemMod('type', 'basic') на match('basic' == this.ctx.mods['type']) сразу все ок
@dkushnikov Как Йода пишешь код зачем ты? В версии дело, подозреваю я.
@dkushnikov только что потестил — все работает. Надо внутреннюю функцию в скобочки завернуть для вызова:
Обновился до 0.9 Не помогло.
@dab tag()('span') обязательно?
@dkushnikov конечно нет, это лишь пример обхода по разным модам. Так тоже работает:
@dab, так зачем тут дополнительные скобки, не пойму:
.content()((function() { return 'content'; }))
?@4ok думаю, просто опечатка.
Честно говоря я просто ошибся и использовал mods вместо elemMods в bemjson:
Это кстати видно из примера который у меня заработал:
Тут явно видно что я использую
this.ctx.mods['mod-name']
, вместоthis.ctx.elemMods['mod-name']
@dkushnikov, думаю у тебя та же ошибка.
Всем спасибо, будьте внимательнее)
@4ok Да, шеф! :-)
Ахаха) Это кстати супер частый кейс, как сам попадался, так и другие ко мне приходили и мы вместе сидели тупили) Молодец, разобрался)))