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

Всем доброе утро!

Есть примерно следующая ситуация.

  1. Существует меню.
{
    block: 'navigation',
    content:[
        {
            elem: 'item',
            content: {
                block: 'link',
                url :'http://first-menu-link.com',
                content: 'Home',
                mix: {block: 'navigation', elem: 'link'}
            }
        },
        {
            elem: 'item',
            content: {
                block: 'link',
                url :'http://second-menu-link.com',
                content: 'Diensleitstungen',
                mix: {block: 'navigation', elem: 'link'}
            }
        }
    ]
}
  1. У некоторых элементов меню может быть второй уровень. Что бы понять к какому элементу первого уровня относиться второй уровень, введена переменная connectTo, значение которой будет равно элементу поля content из первого уровня.
{
    block: 'navigation-level-2',
    js: { connectTo: 'Diensleitstungen' },
    content: {...}
}
  1. При клике на любой из элементов меню 1-го уровня, создается кастомное событие showSubLevel с названием элемента меню, по которому был клик.
modules.define('navigation', ['i-bem__dom', 'jquery' ], function(provide, BEMDOM, $ ){
    provide(BEMDOM.decl(this.name,
        {
            onSetMod: {
                'js': {
                    'inited' : function() {
                        this.bindTo('link', 'click', function(e) {
                            this.emit('showSubLevel', $(e.target).text());
                        });
                    }
                }
            }
        }
    ));
});
  1. Меню второго уровня подписано на события showSubLevel
modules.define('navigation-level-2', ['i-bem__dom','jquery','navigation'], function(provide, BEMDOM, $, nav){
    provide(BEMDOM.decl(this.name,
        {
            onSetMod: {
                'js': {
                    'inited' : function() {
                        nav.on('showSubLevel', function(e, title) {

                            // Here I need a loop that iterates through all the 'navigation-level-2' blocks
                            if (this.params.connectTo === title) {
                                // Show sub navigation
                            }
                           // Loop ending

                        });
                    }
                }
            }
        }
    ));
});

Подскажите, как можно создать цикл, который пройдет по всем блокам, которые есть на странице и проверит у каждого свойство .params.connectTo?