Нет. А зачем это может быть нужно?
Кажется нашел, BEMDOM.detach
Нет,
detach
«вынимает» узел из дерева для последующей вставки (там $.remove под капотом).@tadatuta зачем нужно. Есть много блоков data. все инициализируются при загрузке, проверяют соответствует ли дата определенным условиям, большая часть не соответствует, и дальше js от таких блоков не нужен. Было бы неплохо деинициализировать их. (ну это мой вариант, у @isuvorov другой кейс конечно)
@kompolom А не логичнее ли сделать некий управляющий блок, который получит условие и сам заинитит нужные блоки? ;)
@tadatuta пошто ви травите ;-D
@tadatuta Да, у меня похожим кейс Компонент инициализируется, живет, анимируется и после истечения времени - больше не обновляется, чтобы не тратить ресурсы - я бы хотел вырубить его и все вложенные js блоки без уничтожения DOM.
Может я не правильно понял код detach, но реультат его работы примерно тот, что мне и нужен
А $.remove не вызывается если третий параметр у _destruct false https://github.com/bem/bem-core/blob/5420f75e72fef9f8da4c56f7bb074e83d1e48447/common.blocks/i-bem/__dom/i-bem__dom.js#L1000
Но остался вопрос, после вызова деструктора, сам класс остался block_js_inited это корректное поведение?
Про
_js_inited
послеdetach
есть issue.@tadatuta Есть новости когда https://github.com/bem/bem-core/issues/1222 будет поправлена? Напоролся на связке i-bem + pjax (да, так уж сложилось)
@korotovsky пока в работу не взяли:( есть смысл написать прямо в issue, чтобы было видно, что проблема затрагивает многих.
@tadatuta Единственное что я не понял, так это почему уже скоро будет i-be, 2.9 а такая бага живет до сих пор ) Я вот как начал использовать вот это вот все в новом SPA так сразу всплыло.
Сам метод появился лишь в 2.7 и, насколько я знаю, в продакшене в Яндексе пока не используется в принципе (появился он для экспериментов по скрещиванию i-bem.js и react). Поэтому и большого внимания проблеме не уделили. Если она действительно многим жмет — повысим ей приоритет.
Ясно. Ну я как бы костылями-то облажился сейчас, но хотелось бы запромоутить :(
@korotovsky Самое лучше — это аккуратный PR, решающий конккретно твою задачу, без всякого кода аля «Авось пригодится», если хочешь запромоутить ;-)
@zxqfox Да я бы рад сейчас, но я меня тут джекпот https://github.com/defunkt/jquery-pjax/issues/451#issuecomment-156817413. pjax тоже кривой оказался. Но там все еще печальнее. А вся связка так вообще меня рыдать заставляет сейчас.