#layout #aurelia
#макет #aurelia
Вопрос:
Я создал API с использованием Hapijs, в котором есть два типа пользователей (администраторы и подписчики), у каждого типа есть свои собственные (model, controller и restful маршруты для [create, delete, show, update, login ….]). Мой вопрос в том, как создать два отдельных макета (каждый макетимеет свою собственную страницу входа и другие страницы) для каждого типа пользователя в Aurelia? Пожалуйста, помогите.
Комментарии:
1. Будут ли разные макеты использовать один класс viewmodel?
2. посмотрите мою статью здесь, чтобы найти некоторые идеи: davismj.me/portfolio/sentry
Ответ №1:
Я не совсем уверен, в чем заключается ваш вопрос. Я думаю, вы спрашиваете, как отображать определенные элементы только для администратора или наоборот. Есть несколько способов, которыми вы можете это сделать, но вот как я это сделал. У вас будет какая-то страница входа в систему. Как только пользователь войдет в систему, вы создадите объект для этого пользователя. Этот объект будет содержать такие данные, как идентификатор пользователя, имя, фамилию или все, что вы хотите. Я бы не стал хранить в нем ничего конфиденциального. Самое важное, что нужно сохранить, это роль пользователя. Это означает, что у вас должно быть свойство, указывающее, является ли пользователь администратором или нет.
После того, как пользователь вошел в систему, вам просто нужно ввести этот объект в другие модели представления, чтобы вы могли получить к нему доступ. Оттуда вы можете отображать элементы на основе роли, используя if.bind . Итак, вы бы сделали что-то вроде . В этом случае вы привязываете переменную true или false к элементу. Если переменная «isAdmin» имеет значение true, элемент будет отображен в ДОМЕНЕ, в противном случае он будет удален из DOM.
Извините, если форматирование немного не в порядке, я нахожусь на своем телефоне.
Комментарии:
1. Сначала спасибо за вашу помощь. два типа (администраторы и подписчики, каждый из которых имеет свою собственную точку входа для входа в систему, например localhost / api / admins /login и localhost / api / subscribers / login) как справиться с таким сценарием?
2. @smahi Просто создайте две разные модели представления / представления. Я не уверен, что понимаю, в чем проблема.