У меня есть страница профиля, которую я показываю всем пользователям по адресу url /profile/foo
, но как только он загружается, я делаю некоторые проверки, чтобы определить, является ли пользователь, просматривающий этот профиль, владельцем Это. Если это так, я бы хотел отобразить кнопку редактирования, которая на той же странице отобразит другое представление и изменит маршрут на /profile/foo/edit
, однако я хотел бы ограничить что-либо из показа на /profile/foo/edit
, если этот пользователь не является владельцем или владелец не просмотрел /profile/foo
, поскольку контроллер, загружающий всю информацию профиля, настроен на этот маршрут.Как настроить маршрутизацию и контроллеры для ролей пользователей
Я точно знаю, что контроллер, который обрабатывает редактирование, а также интерфейс редактирования для/profile/foo/edit, должен быть ленивым загруженным в зависимости от того, является ли пользователь владельцем профиля.
Я изначально не запускаю .config для моего модуля, чтобы настроить маршрутизацию, потому что я не знаю, является ли пользователь владельцем, поэтому мне пришлось жестко закодировать ng-контроллер на элемент DOM, который действительно должен быть ng-view но изначально не может, так как я не хочу загружать частичный просмотр.
Итак, вот мой вопрос: как настроить такой тип маршрутизации во время выполнения (контроллеры коммутаторов и представления), а также загрузить контроллер и представление. Только если пользователь является владельцем профиля.
Вы установили маршрутизацию для/profile /: userid или/profile/foo ?? если он: userid, то он является общим, который не следует удалять. если вы хотите настроить маршрутизацию для/foo/foo для пользователя foo и/bar для пользовательской панели, тогда вы должны сначала разрешить вход в систему, а затем перенаправить на угловое приложение для настройки маршрутизации вошедшим в систему пользователем. – sdfacre