Closed satanicman closed 6 years ago
как на счет обернуть block: b2
в элементы блока b1
?
2017-03-12 19:09 GMT+03:00 satanicman notifications@github.com:
К примеру есть такой вот bemjson
{ block: 'b1', content: [ { block: 'b2', mix: {block: 'b1', elem: 'e1'}, content: [ { elem: 'e1', content: 'title' }, { elem: 'e2', content: 'description' } ] }, { block: 'b2', mix: {block: 'b1', elem: 'e1'}, content: [ { elem: 'e1', content: 'title' }, { elem: 'e2', content: 'description' } ] } ] }
Допустим блок b1 это какой-то список, b2 это элемент списка который может использоваться еще где-то на странице но не в виде элемента списка а просто в виде блока. Но вот дилемма, если примиксовать к b2 элемент блока b1e1 и задать ему bemhtml в котором бы говорилось что b1e1 должен иметь тег li то этот код не срабатывает. Напрямую в bemjson писать не хочется tag. Пробовал прописывать всякого рода зависимости, блока b2 от блока b1, блока b2 от элемента e1 блока b1 и блока b1 от элемента e1. Как будет правильно поступать в данной ситуации?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/bem-site/bem-forum-content-ru/issues/1277, or mute the thread https://github.com/notifications/unsubscribe-auth/ABur3Cmscrn-RTn-5NniTRDNDFDSIXGRks5rlBi4gaJpZM4MalTp .
Если у b2
нет своих собственных шаблонов, то можно просто поменять его местами с миксом:
{
block: 'b1',
elem: 'e1', // элемент b1__e1 стал «главным», его шаблоны применятся
mix: {block: 'b2'}, // шаблоны b2 не будут применяться
content: [
{
block: 'b2', // здесь явно говорим, что элемент относится к блоку b2
elem: 'e1',
content: 'title'
},
{
block: 'b2',
elem: 'e2',
content: 'description'
}
]
}
Если же и у b2
есть шаблоны, которые необходимо применить, то возникает некоторая неоднозначность: если и b1__e1
и b2
будут устанавливать тег, то кто должен победить?
@tadatuta если бы миксы шаблонизировались я бы предположил что последний в массиве миксов, если микс один то он.
@tadatuta Ваш ответ натолкнул меня на размышления, а вот и правда, какой тэг тогда победит. Видимо самым правильным способом будет сделать как сказал @Yeti-or просто обернуть b2 в b1__e1
Всем привет. К примеру есть такой вот bemjson
Допустим блок b1 это какой-то список, b2 это элемент списка который может использоваться еще где-то на странице но не в виде элемента списка а просто в виде блока. Но вот дилемма, если примиксовать к b2 элемент блока b1e1 и задать ему bemhtml в котором бы говорилось что b1e1 должен иметь тег li то этот код не срабатывает. Напрямую в bemjson писать не хочется tag. Пробовал прописывать всякого рода зависимости, блока b2 от блока b1, блока b2 от элемента e1 блока b1 и блока b1 от элемента e1. Как будет правильно поступать в данной ситуации?