2015-10-17 2 views
0

Я создаю веб-приложение в Angular.js. Мне нужно показывать разные пункты меню для разных пользователей (пользователи без регистрации, пользователи, не зарегистрированные в Admin, пользователи, пользователи-администраторы).Различные пункты меню для разных пользовательских ролей в угловом

Мой первоначальный подход состоял в том, что я отправлю запрос API вместе с JWT token, и на основе этого я могу извлечь идентификатор пользователя (если он есть), а затем выполнить обработку на основе того, является ли пользователь типом администратора или нет. . скажем, что у меня есть всего 3 части (на самом деле у меня 57!)

1-й частичный для входа в систему.

2-й частичный для функции приложения.

3-я частичная для страницы администрирования приложения.

Теперь для неавторизованного пользователя, он может видеть только 1-й частичный. Как только пользователь вошел в систему, он мог видеть и вторую. И если он пользователь admin, он может видеть и третий.

Теперь для не вошедшего пользователя, он должен

Но проблемы возникают с тем, как загрузить контроллеры, парциальные и CSSfor пунктов меню?

Я почесываю голову, без каких-либо успехов.

+1

css не должно быть проблемой, какие конкретные проблемы существуют в отношении контроллеров? Вопрос слишком широк, не сужая некоторые особенности. – charlietfl

+0

Я думаю, что этот ответ применяется http://stackoverflow.com/questions/17801988/dynamically-loading-controllers-and-ng-include –

+0

@ charlietfl-Я отредактировал вопрос в надежде это работает. –

ответ

0

Используйте директиву ngShow! ng-show показывает или скрывает данный HTML-элемент на основе выражения, предоставленного атрибуту ng-show. Я также создал fiddle.

<button class="btnEdit" ng-show="user.type=='admin'">Edit Item</button> 

Пожалуйста, смотрите в документации AngularJS для подробного описания ng-show.

Update Одно важное замечание: Если вы сделаете это, не забудьте проверить всегда в коде, если пользователь выполняет команды на самом деле имеет разрешения, чтобы сделать это. Причина угловых переменных может быть изменена, например. в консолях пользователей пользователями.

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