Обнаружение углового изменения страницы - PullRequest
0 голосов
/ 12 декабря 2018

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

Мой код живет на странице, но не находится "внутри" приложения Angular, и я никогда раньше не использовал Angular, поэтому я вижу только те элементы веб-страницы, которые являются глобальными.

Один из способов решения этой проблемы - отслеживать URL-адрес текущей страницы и определять, когда он изменяется с: https://somedomain/#/loginpage на https://somedomain/#/loggedArea, используя объект window.location:

var previousHash; //This will store the hash of the page we were in before


// Then we would have to constantly check if the URL has changed
if(previousHash == "#/login" && window.location.hash == "#/loggedArea"){
  callOnLoadActions()
}

но это кажется мне немного хрупким и хакерским.

Есть ли "официальный" или, по крайней мере, лучший способ слушать, когда страницаобновляется?

1 Ответ

0 голосов
/ 12 декабря 2018

Вид внешнего решения для angular, но, возможно, использование window.onhashchange подойдет для этого сценария.

function YouAreGoingPlaces() {
    alert("Welcome to " + location.hash)
}
window.onhashchange = YouAreGoingPlaces() {
   your custom actions here.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...