Подписка на удаление модификатора через 'modVal: false'
Пример кода для разбора )
this._events(this._cardsEditBtn)
.on({modName: 'checked', modVal: true}, this._editCards, this)
.on({modName: 'checked', modVal: ''}, this._closeEditCards, this);
Булевые операторы должны иметь булевые значения.
{modName: 'checked', modVal: ''} - этот код не даёт информацию об отключении модификатора, если не знать текущие тонкости (можно подумать, что это установка модификатора, а не его снятие).
{modName: 'checked', modVal: false} - наглядно говорит про отключение модификатора.
{modName: 'checked', modVal: ''} - этот код не даёт информацию об отключении модификатора, если не знать текущие тонкости (можно подумать, что это установка модификатора, а не его снятие)
Хочется, чтобы работа с модификаторами была консистентной для всего API, включая декларацию блока (declMod) и декларацию поведения (onSetMod). Но в каких-то из поддерживаемых браузеров нельзя написать:
onSetMod : {
false : function() {}
}
поэтому, во всем API библиотеки факт снятия модификатора — это выставление его в пустую строку.
Не уверен, что размывать API, потому что в одном из N мест оно выглядит нагляднее, это хорошая идея.
@narqo если мне не изменяет память, то снятие модификатора можно делать так .setMod('checked', false).