Size: a a a

2018 September 07

VH

Vitaly Harisov in БЭМ
Zhenya Telegin
О, а где high resolution взять?
источник

ZT

Zhenya Telegin in БЭМ
Спасибо!
источник

Р

Роман in БЭМ
Sergey Startsev
Всем привет!
Недавно начал изучать бэм и возник вопрос, как мне в bemhtml не выводить какой то елемент?
Есть массив с данными и в одном из них указан путь до картинки (icon), а в доругом нет

пример:
// bemjson
{
block: 'block-list',
items: [{
   title: 'Дома',
   value: '23',
 },
 {
   title: 'На улице',
   value: '20',
   icon: '/path/to/icon.svg'
 }]
}


// bemhtml
block('block-list')(content()(function(){
 return this.ctx.items.map(item =>{
   return {
     elem : 'item',
     content: [{
       elem: 'title',
       content: item.title
     },{
       elem: 'value',
       content: item.value
     },{
       elem: 'icon',
       tag: img,
       attrs: {src: item.icon}
     }]
   }
 });
}));

В первом элементе будет пустой img

Я конечно могу в начале map проверять если есть item.icon, то верни с иконкой, в противном случае без, но тогда будет дублироваться elem: 'item' и тд
источник

Р

Роман in БЭМ
Sergey Startsev
2 вопрос :)
Можно ли в bemhtml возвращать другой блок
Пример:
block('block-list')(content()(function(){
 return {
   block : 'tile'
 }
 });
}));

который так же есть у меня
block('tile')(content()(function(){
 return {
   elem: 'title',
   
   ....
 }
}));

У меня почему то возвращается просто блок tile, без моего шалона
Возможно упустил эти вещи в доке, если тыкните пальцем буду благодарен.
Возможно, просто забыл «упомянуть» этот блок в deps'ах блока block-list:

// block-list.deps.js
[{
 shouldDeps: [
   'title'
 ]
}]
источник

Р

Роман in БЭМ
Т. е. тут просто сводится всё к проверке на наличие ключа у объекта.
источник

Р

Роман in БЭМ
Sergey Startsev
Всем привет!
Недавно начал изучать бэм и возник вопрос, как мне в bemhtml не выводить какой то елемент?
Есть массив с данными и в одном из них указан путь до картинки (icon), а в доругом нет

пример:
// bemjson
{
block: 'block-list',
items: [{
   title: 'Дома',
   value: '23',
 },
 {
   title: 'На улице',
   value: '20',
   icon: '/path/to/icon.svg'
 }]
}


// bemhtml
block('block-list')(content()(function(){
 return this.ctx.items.map(item =>{
   return {
     elem : 'item',
     content: [{
       elem: 'title',
       content: item.title
     },{
       elem: 'value',
       content: item.value
     },{
       elem: 'icon',
       tag: img,
       attrs: {src: item.icon}
     }]
   }
 });
}));

В первом элементе будет пустой img

Я конечно могу в начале map проверять если есть item.icon, то верни с иконкой, в противном случае без, но тогда будет дублироваться elem: 'item' и тд
Или можно так: написать отдельный шаблон для элемента icon и уже в нём проверять содержимое (если нет, ничего не выводить)
https://goo.gl/2mqMoi
источник

SS

Sergey Startsev in БЭМ
@Realetive Спасибо большое добрый человек!
источник

Р

Роман in БЭМ
Sergey Startsev
@Realetive Спасибо большое добрый человек!
🤙
источник

SB

Sergey Belozyorcev in БЭМ
Плакать или смеяться... Вообще жесть XD
источник

AY

Alexey Yarrr (qfox) in БЭМ
Айдишники привязаны к сущностям, и лучше вешать их по смыслу, и называть соотв.: entity_15 или user_154, но практической пользы от этого мало
источник

NK

ID:675272574 in БЭМ
источник

𝖘𝖋

𝖘𝖊𝖛𝖊𝖓𝖙𝖞 𝖋𝖔𝖝 in БЭМ
Alexey Yarrr (qfox)
Айдишники привязаны к сущностям, и лучше вешать их по смыслу, и называть соотв.: entity_15 или user_154, но практической пользы от этого мало
Зато K P A C U B O. Спасибо!
источник

ZT

Zhenya Telegin in БЭМ
Выше кидали)
источник

VH

Vitaly Harisov in БЭМ
Пример хорошей верстки без БЭМ это Bootstrap.
источник

z

zakaratcha in БЭМ
🤣
источник

Р

Роман in БЭМ
Vitaly Harisov
Пример хорошей верстки без БЭМ это Bootstrap.
источник

AC

Alexey Chernov in БЭМ
Здравствуйте!
Я правильно понимаю методологию, что css-свойство border должно быть прописано для элемента, но не для блока, так как border это внешняя геометрия?
источник

И🍆

Илья 🍆 Baklazhanius in БЭМ
Alexey Chernov
Здравствуйте!
Я правильно понимаю методологию, что css-свойство border должно быть прописано для элемента, но не для блока, так как border это внешняя геометрия?
Под внешней геометрией, если я не ошибаюсь, подразумевались маргины и падинги и иже с ними
источник

И🍆

Илья 🍆 Baklazhanius in БЭМ
Но чтобы наверняка, можешь сделать __inner и на него сделать бордер
источник

AC

Alexey Chernov in БЭМ
ну вот мне тоже так кажется, однако же в доках:
Блок не должен влиять на свое окружение, т. е. блоку не следует задавать внешнюю геометрию (в виде отступов, границ, влияющих на размеры) и позиционирование.

https://dimalepel.gitbooks.io/bem-metodologiya/part1/chapter1-2.html
источник