Войти с помощью github
Форум /

Доброго времени суток коллеги

Необходимо вызывать такое древо

<div class="filter">
    <div class="filter__item selector selector_data_city">
        <labe class="selector__label">Choise City</label>
        <select class="selector__select select select_data_city"></select>
   </div>
</div>

Собственно 3 блока filter, в элементе которого вызывается selector с модификатором _data_city, внутри которого вызывается label и select с модификатором _data_city из блока в блок, аналогично контенту, по иерархии вниз передается data

bh.match('filter', function(ctx, json) {
ctx.content([
   elem: 'item',
   mix: {
        block: 'selector',
        mods: {data: 'city'}
       data: json.data()
   },
], true);
};

bh.match('selector_data_city', function(ctx, json) {
ctx.content([
   {
       elem: 'label',
       mix: {
           block: 'label'
      },
      content: 'Choice City'
   },
   {
     elem: 'select',
     mix: {
          block: 'select',
         mods: {data: 'city'}
         data: json.data()
     },

  }
], true);
};

bh.match('select_data_city', function(ctx, json) {
   options = MakeOptions(json.data());
   ctx.tag('select');
   ctx.content([options], true);
}

Если выполнять в однои файле, то все работает. Если разнести по методогии БЭМ в разные блоки и прописать то перестает работать наследственная связь, вызвается только filter прописав deps.js блоки вызываются, но не в правильном порядке

Если в вызове блока, вместо

     elem: 'item',
     mix: {
          block: 'selector',
         mods: {data: 'city'}
          data: json.data()
     },

использовать

     block: 'selector',
     mods: {data: 'city'}
     mix: {
          block: 'filter',
          elem: 'item'
     },
     data: json.data()

То, блоки вызываются в правильном порядке, и дата передается корректно

Объясните, почему так, и как через микс вызвать блок ПОСЛЕ блока родителя