Closed xmarinin closed 8 years ago
this.friendButton.setMod('type', 'action');
такой код в принципе не может работать, this.friendButton
это jquery-коллекция, у нее нет методов setMod
.
должно работать так:
this.setMod(this.friendButton, 'type', 'action')
Да, верно (ошибся, писал пример на коленке) — обновил. Тем не менее, это не относится к проблеме.
То есть кнопке нужно поставить модификатор с таким же именем, которое уже есть у элемента другого блока, я правильно понимаю?
Да.
@Creamov оффтоп: вместо
this.friendButton = this.elem('button', 'type', 'friend');
if (this.friendButton.length) {
this.friendButton = this.friendButton.bem('button');
}
лучше писать
this.friendButton = this.findBlockOn(this.elem('button', 'type', 'friend'), 'button');
баг воспроизводится — будем чинить
Покопались подробнее — баг не воспроизводится (первый раз мы тест некорректный написали). Вот пример с jsfiddle, где все работает: http://jsfiddle.net/7oauweeL/1/
(см. комментарий в примерах)
Условно, есть такой BEMJSON:
И примерно такой клиентский JS-код: