мне пришла в голову такая идея
с каждой из страниц независимо от того какие виджеты есть на страницы, отправляем квери где запрашиваем данные для всех виджетов
на бэкэнде определяем конфигурацию виджетов в зависимости от текущего пользователя/страницы, на определенные ветви данных для виджетов повесить кастомные директивы, и в зависимости от конфигурации для текущей страницы обрезать лишние данные
Ну, собственно, что я и сказал. Не очень понимаю зачем директивы тут. Просто при таком пользователе, такой-то вью и еще какой-то инфе, возвращаешь то и то, а то, что ненужно, null и все.