bem / bem-core

BEM Core Library
https://ru.bem.info/technologies/classic/i-bem/
Other
276 stars 95 forks source link

Safe lazyInit on mods from js tech #1583

Open belozer opened 6 years ago

belozer commented 6 years ago

After https://github.com/bem/bem-core/pull/1579 lazyInit in declMod not allowed because it affects the base block.

But we can use another way.

In static props store regex list selectors for lazyInit.

_lazyInitBySelector : [
    { check : /(^|\s)block(\s|$)/, lazyInit : true },
    { check : /(^|\s)block_mod_/, lazyInit : false },
    { check : /(^|\s)block_mod_val(\s|$)/, lazyInit : true },
    { check : /(^|\s)block_boolmod(\s|$)/, lazyInit : false },
]

and check class list on dom node for detect lazy initialization.