bem / bem/bh

Матчинг на элемент по модификатору блока

Open
#181 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
69
Forks
33
PR merge metrics
No merged PRs in 30d

Description

В версии `bh 3.x` можно было доопределить шаблон элемента блока с каким-нибудь модификатором следующим образом:

```
bh.match('blockName__elemName', function(ctx) {
ctx.content('Hello!')
});

bh.match('blockName_modName_modVal__elemName', function(ctx) {
ctx.applyBase();

ctx.content('Buy!', true)
});
```

И сматчиться на него так:
```
bh.apply({
block: 'blockName',
blockMods: { modName: 'modVal' },
elem: 'elemName'
});
```

В версии `3.x` получится `

Buy!
`,
А в `4.x` тот же код даст `
Hello!
`

Сматчиться на элемент блока с модификатором в `4.x` у меня получилось только таким незадокументированным способом (костылем?):
```
bh.apply({
block: 'blockName',
mods: { modName: 'modVal' },
elem: 'elemName',
elemMods: {} // При этом без указания хотя бы пустого `elemMods`, модификатор из `mods` приписывается элементу
});
```

Хочется узнать мнение мейнтейнеров `bh` насколько ОК использовать такой костыль и не перестанет ли он работать в следующих версиях. Может есть более лучший способ матчиться на элемент блока с модификатором?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.