Не работает метод toggleMod для элемента, подскажите пожалуйста в чем может быть причина Конструкция вида
onSetMod: {
'js': function() {
this.bindTo(this.elem('item', 'type', 'pervasive'), 'click', function (e) {
e.preventDefault();
var item = $(e.currentTarget);
//console.log(e);
this.toggleMod(item, 'type', 'current', '');
});
}
}
Последний параметр в toggleMod доллжен быть булевый: https://github.com/bem/bem-core/blob/5dce17114af8055610eb6a5b8e46426378d09503/common.blocks/i-bem/i-bem.vanilla.js#L444
upd А, нет. Дело в другом. Но все равно попробуйте явно передавать
this.hasMod(item, ...
последним параметромПараметр condition должен быть булевым? Пробовал ставить его и true и false и тоже ничего не работает
Тут ошибка кроется в имени модификатора элемента. Ты подписываешься на клики по элементу
item_TYPE_pervasive
- а внутри пытаешься "тоглить" тот же модификатор элемента но уже как будто он либоtype_current
либопустой
. МетодtoggleMod
пытается найти на твоей ноде type_current или отсутствие такого модификатора, но находитitem_TYPE_persasive
и ничего соответственно не делает, ты ж ему не сказал тоглить сpersasive
наcurrent
. Логику работы этого метода можно найти здесь https://github.com/bem/bem-core/blob/v2/common.blocks/i-bem/i-bem.vanilla.js#L465Спасибо большое, а как правильно в пост код включать? А то чувствую вопросов еще много будет
вот так