Войти с помощью github
Форум /

Речь пойдет об использовании i-bem.js. Предположим у меня есть декларация блока 'input' с методами disable и enable, которые устанавливают модификатор disabled соответствено в true или false. Для классов input_disabled_true и input_disabled_false у меня заготовлены css-свойства, что-то делающие с внешним видом инпута.

Далее, я создаю декларацию блока superInput, укзаывая, что он является наследником input. Я хочу использовать методы disable и enable из базового класса. Только вот они устанавливают класс superInput_disabled_{true|false}. Для решения задачи приходится делать новый блок, не наследуя его от input, в html делать микс блоков superInput и input на отдом элементе (можно вложенными), а в скрипте декларации блока искать на текущем блоке(superInput) блок input, у которого можно вызвать disable и enable. 

 

Очень хочется в таком случае воспользоваться наследованием в javascript, но по факту это оказывается неудобно.

 

Пример немного искуственный, но подобные задачи появляются. Как рекомендуется решать такие проблемы? Все же наследованием или отдельной декларацией (я про javascript)