Size: a a a

2016 May 20

AM

Andrey Melikhov in БЭМ
Но там же в комплекте уже есть скомпилированный блок?
источник

VR

Vladimir Rakchaev in БЭМ
Да, блок redux уже скомпилированный поставляется, пользователям об этом думать не нужно
источник

SB

Sergey Belozyorcev in БЭМ
))) Озадачился тойже задачей... Решил зайти и задать в Телеграмме вопрос, а здесь уже дискуссия идёт по этому поводу.
источник

SB

Sergey Belozyorcev in БЭМ
Пока в голове пониманимание Redux не совсем укладывается. Вроде понятно, но вроде и нет... Хотя что-то внутри подсказывает что стоит использовать его.
источник

SB

Sergey Belozyorcev in БЭМ
В голове стоит заминка при создании SPA. У нас страницы имеют разные наборы блоков, "каждый" блок бегает в своё API и тянет данные, затем отрисовывает их на странице.

Т.е. на странице index - state у нас может быть один набор данных. Но у нас пользователь кликает на меню, подгружаются данные -> BEMTREE -> BEMHTML -> HTML.

На этом мы должны получить новый state, который изначально работал с одним набором reducers и actions, а теперь ему необходим другой набор.

Кто-то решал уже такие задачи и сложна ли такая задача в реализации?
источник

A@

Alexey Gurianov @Guria in БЭМ
@miripiruni
https://github.com/bem/bem-xjst/blob/master/docs/ru/7-runtime.md#applynext

> Конструкция applyNext возвращает результат работы следующего по приоритету шаблона в текущем режиме для текущего узла.

Не хватает уточнения, какой шаблон считается следующим по приоритету.
источник

AM

Andrey Melikhov in БЭМ
Sergey Belozyorcev
В голове стоит заминка при создании SPA. У нас страницы имеют разные наборы блоков, "каждый" блок бегает в своё API и тянет данные, затем отрисовывает их на странице.

Т.е. на странице index - state у нас может быть один набор данных. Но у нас пользователь кликает на меню, подгружаются данные -> BEMTREE -> BEMHTML -> HTML.

На этом мы должны получить новый state, который изначально работал с одним набором reducers и actions, а теперь ему необходим другой набор.

Кто-то решал уже такие задачи и сложна ли такая задача в реализации?
больше похоже на виджеты, возможно лучше делать стейт отдельный для каждого такого блока.
источник

AY

Alexey Yarrr (qfox) in БЭМ
@GuriaFS first in last out)
источник

A@

Alexey Gurianov @Guria in БЭМ
@yaroshevich боюсь не всё так просто:

block('foo')(
   def()(function() { return applyNext({ _some : 'bar' }); }),
   content()(function() {
       return this._some
   })
)
источник

A@

Alexey Gurianov @Guria in БЭМ
вот мне было не очевидно, что будут запущены моды этого же шаблона, но с доопределённым this
источник

A@

Alexey Gurianov @Guria in БЭМ
в примере в документации используются 2 декларации, здесь одна
источник

AY

Alexey Yarrr (qfox) in БЭМ
Да не, все именно так. Если условие тру, то тело отрабатывает.
источник

AY

Alexey Yarrr (qfox) in БЭМ
А порядок - с конца
источник

AY

Alexey Yarrr (qfox) in БЭМ
Базовые (заданные первыми) отработают последними
источник

A@

Alexey Gurianov @Guria in БЭМ
> Если условие тру
Которое условие? applyNext({ _some : 'bar' }); в этом примере возвращает готовую html строку, т.е. уже с отработанным content
источник

AY

Alexey Yarrr (qfox) in БЭМ
Он запускает следующий подходящий шаблон, тот запускает опять следующий, и так до "базового"
источник

AY

Alexey Yarrr (qfox) in БЭМ
А базовый вернет строку
источник

AY

Alexey Yarrr (qfox) in БЭМ
И она приедет суда как результат
источник

AY

Alexey Yarrr (qfox) in БЭМ
Самая простая аналогия - вызов метода у родительского класса. Суперкол по модному
источник

A@

Alexey Gurianov @Guria in БЭМ
это единственный шаблон. и в данном случае случае мода content текущего шаблона отработает по факту вызова applyNext()
источник