Closed karalkou closed 8 years ago
@karalkou Код как код, ничего явно кривого не вижу. Что именно хочется сделать и что не получается?
Пока могу лишь порекомендовать использовать шоткаты в deps.js:
({
mustDeps: [
{ block: 'event-line', elems: ['item', 'city', 'date', 'place', 'type']},
],
shouldDeps: [
'btn',
'img',
{
elems: ['logo', 'text', 'title', 'button' ]
}
]
})
@tadatuta добрый день) В bemjson страницы используются .event-line и .article-preview. .event-line используется и сам по себе, и внутри .article-preview Задумывал как бы пробрасывать контент из bemjson через шаблон article-preview.bemhtml в event-line.bemhtml. Сам event-line.bemhtml работает. Но при сборке .article-preview в поля event-line.bemhtml ничего не приходит
block('event-line')(
content()(function(){
return [
{
elem: 'date',
elemMods: this.ctx.event.date.visibilityMod,
content: this.ctx.event.date.content ? this.ctx.event.date.content : 'hello, world' /* т.е. на страницу внутри блока .article-preview выводится hello, world */
},
{
elem: 'city',
elemMods: this.ctx.event.city.visibilityMod,
mix: { block: 'link', mods: { color: 'white' } },
content: this.ctx.event.city.content
},
{
elem: 'place',
elemMods: this.ctx.event.place.visibilityMod,
mix: { block: 'link', mods: { color: 'white' } },
content: this.ctx.event.place.content
},
{
elem: 'type',
elemMods: this.ctx.event.type.visibilityMod,
mix: { block: 'link', mods: { color: 'white' } },
content: this.ctx.event.type.content
}
];
})
)
Причина в том, что шаблон event-line
ожидает данные в полях date
, city
, place
и type
в виде объектов, а в шаблоне article-preview
они передаются с дополнительной вложенностью в массив.
Кстати, рекомендую вынести this.ctx.event
в переменную и не копипастить эту часть везде.
точно. Спасибо огромное. Что-то перегрелся)
В bemjson-файле описания страницы есть блоки .event-line и .article-preview. Внутри .article-preview используется .event-line. Не получается передать содержимое из bemjson в bemhtml. Все, до чего додумался уже проверил. Если у кого есть время, посмотрите, пожалуйста. Может подскажете, где проблема.
bemjson
...
article-preview.bemhtml
event-line.bemhtml
article-preview.deps.js
event-line.deps.js