@vasIvas

Как создать динамическое меню на AngularJS?

Повторенье — мать ученья..
1. создаю директиву ngDynamicMenu. Директива призвана впитать в себя всю логику связанную с отображением. По этому директива будет создавать контейнер button-group и заполнять его кнопками по дате полученной из модели. То есть в html -
<ng-dynamic-menu ng-model="MenuModel.getData()"></ng-dynamic-menu>


1.1 немного рассуждений о "template" директивы. Сначала хотелось сделать что-то типа -
template: <div id="button-group"></div>
но потом задумался над тем, что нам предоставляет сам angular. Он предоставляет в директиве jqLite с его методом foud, который выбирает по имени тега. Получается что если я выберу div, то в будущим могу забыть об этом и при расширении добавлю "что-то" в div'е, то он возьмет и выберет уже не один объект, а массив. Вот это меня и натолкнуло на мысль, что если и использовать контейнеры, то они сами должны быть директивами уникальными именами. И раз так, то контейнером буде сама директива.

3. Так же посетила мысль что ng-model это лишнее, так как служит для связывания данных и валидации и тому подобного. По этому вопрос, как директиве получить json остается для меня открытым, но могу лишь предположить, что лучшим вариантом будет передача ссылки, которую я загружу при помощи "сервиса для загрузки".

4. Если я здесь, значит меню уже работает и первый клик, который получил хендлер в директиве не знает что с ним делать.
element.bind('clicck', ()=>{});
Не знает по тому, что эти клики предназначаются параллельно лежащий директиве. Опять таки клик я могу доставить туда либо при помощи общего контроллера, либо при помощи сервиса.  Как будет лучше?
  • Вопрос задан
  • 548 просмотров
Пригласить эксперта
Ответы на вопрос 1
uaKorona
@uaKorona
Front-End разработчик
Вы написали свое видение директивы. А в чем именно вопрос ? )
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы