bem / bem-core

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

Feedback for "Быстрый старт по BEMHTML" #964

Closed aimuzov closed 8 years ago

aimuzov commented 9 years ago

Шаг 5, походу не работает пример:

block('hello')(
    content()(function() {
        return (this.ctx.names || [this.ctx.name]).map(function(user) {
            return { elem: 'item', content: user };
        });
    }),
    elem('item')(
        content()(function() {
            return ['Hello, ', applyNext(), '!'];
        })
    )
);

На выходе вместо ожидаемого:

<div class="hello">
  <div class="hello__item">Hello, BEM!</div>
  <div class="hello__item">Hello, BEMJSON!</div>
  <div class="hello__item">Hello, BEMHTML!</div>
</div>

Получаем это:

<div class="hello">
  <div class="hello__item">Hello, !</div>
</div>

Если убрать первый аргумент из функции (content()...), то тогда выдает ожидаемый результат. Поясните, пожалуйста, как сохранить поддержку старого API о котором говорится в примере?

veged commented 8 years ago

можно уточнить, где именно и с какими версиями библиотек не работает пример?

попробовали в repl — вроде работает

убедитесь, что вы подаёте на вход именно сокращённый BEMJSON:

{ block: 'hello', names: ['BEM', 'BEMJSON', 'BEMHTML'] }

а не полный:

{
    block: 'hello',
    content: [
        { elem: 'item', content: 'BEM' },
        { elem: 'item', content: 'BEMJSON' },
        { elem: 'item', content: 'BEMHTML' }
    ]
}