2017-01-26 2 views
0

Я хотел бы знать, если есть способ в Эмбер, чтобы иметь к родительскому компоненту сохранить ссылку на все контекстные компоненты инициализируетсяEmber контекстный компонент список

Например:

В родительском компоненте будет иметь массив 2 дочерних компонента.

{{checkbox-group value=value sortBy="name" as |group|}} 
    {{group.checkbox}} 
    {{group.checkbox}} 
{{/checkbox-group}} 
+0

Вы не можете сортировать вставленный дочерний компонент. Просто возможно с jquery (грязная работа). Я думаю, что если вы передадите объект данных, такой как массив, в свою группу checkbox, и пусть он сортирует и создает дочерние компоненты, которые полностью соответствуют вашим требованиям. –

ответ

0

Да, вы как-то можете это сделать.

В вашем родительском шаблоне компоненты:

{{yield (hash child=(component 'my-child' registerFunction=(action registerFunction)))}} 

В вашем init методе my-child компонента, вызовите registerFunction.

Но я твердо верю, что , сохраняющий ссылку на компоненты из исходного компонента - это запах кода.

+0

Спасибо. Возможно, я не думаю об этом правильно. По существу, я хотел бы создать компонент группы флажков, который вы могли бы отсортировать по компоненту флажка, встроенному внутри – jpoiri

+0

. Вы можете это сделать. Посмотрите на [этот поворот] (https://ember-twiddle.com/df3ce36f68fcacfa3785138256edf16d?openFiles=templates.application.hbs%2Ctemplates.components.checkbox-group.hbs). – ykaragol

+0

Но установка * ответственность за сортировку * в элементе checkbox-group может быть другим запахом. – ykaragol

Смежные вопросы