2016-06-09 7 views
1

Я новичок в угловом2/ионном. То, что я хотел бы сделать, - это разрешить доступ только к страницам, если они аутентифицированы. Будут некоторые страницы, для которых не требуется аутентификация, но 95% необходимо пройти аутентификацию. Я надеялся, что на дизайнере @Page есть свойство beforeNavigate, где я могу запустить логику, которая будет выталкивать страницу входа в навигационный стек, если они не были аутентифицированы. Оглядываясь, я не могу найти ничего подобного. Каким будет правильный способ сделать это, не вставляя его в каждый конструктор или что-то еще? Есть ли другой способ, которым я мог бы подойти к этому? ТИА.Требовать аутентификацию для страницы

Обратите внимание, что это Angular2/Ionic2 и машинопись, если это имеет значение.

+0

вы можете сделать это с насыщает, пожалуйста, прочтите [это] (https://solidfoundationwebdev.com/blog/posts/require-authentication -for-certain-routes-with-ui-router-in-angularjs) и больше узнать о ui-router – macrog

+0

Итак, у меня уже есть эта работа в более раннем угловом приложении 1.x, может ли это быть применено к угловому2/ionic2 ? –

+0

ups, извините, мой плохой, не понял, что это версия 2, о которой вы спрашивали: / – macrog

ответ

1

Вы можете найти более подробную информацию о View Lifecycle Крючки в ионическом 2 here

Ионные пакеты набор крючков вид жизненного цикла в NavController. Они следуют четыре модели обработчиков событий:

1. onPageLoaded works the same way as ngOnInit 
2. onPageWillEnter and onPageDidEnter are hooks that are available before and after the page in question becomes active 
3. onPageWillLeave and onPageDidLeave are hooks that are available before and after the page leaves the viewport 
4. onPageWillUnload and onPageDidUnload are hooks that are available before and after the page is removed from the DOM 

В вашем случае, я думаю, что один вы ищете onPageWillEnter

============

EDIT:

ионных 2.0.0-beta.8 (2016-06-06), были переименованы Ионные Lifecycle События:

onPageLoaded renamed to ionViewLoaded 
onPageWillEnter renamed to ionViewWillEnter 
onPageDidEnter renamed to ionViewDidEnter 
onPageWillLeave renamed to ionViewWillLeave 
onPageDidLeave renamed to ionViewDidLeave 
onPageWillUnload renamed to ionViewWillUnload 
onPageDidUnload renamed to ionViewDidUnload 

Так один вам нужно использовать это: ionViewWillEnter