Итак, я использую версию 2.6.11 и сталкиваюсь с некоторыми трудностями при выполнении действия до того, как пользователь выйдет из моего приложения или перезагрузит страницу.
Я делаю интеграцию CRM с телефонией. Когда пользователь получает доступ к моему приложению, ему необходимо войти в систему (не в моем приложении, а в концентраторе, к которому я обращаюсь с помощью SignalR), чтобы я мог выполнить какое-либо действие, например, сделать вызов, принять вызов и обработать события, которые я получать из хаба. Проблема в том, что если пользователь перезагружает страницу или покидает страницу, мне нужно выйти из него через концентратор.
При использовании angular решение было очень простым, мне просто нужно было позвонить:
$scope.$on('$destroy', function () {
// Log user out here
});
... но я не могу сделать это с vue. Я пытался использовать beforeDestroy
, keep-alive
, destroyed
и другие методы, но ни один из них не помогает мне достичь моей цели. Я попробовал чистый javascript как:
window.onbeforeunload = () => {
// Log user out here
}
... но по какой-то причине даже это не помогло мне решить проблему.
Я действительно не знаю, так ли это моя ошибка, или если это еще не реализовано на vue, но я не нашел подобных проблем на inte rnet. Есть ли какое-либо решение внутри фреймворка или что-то, что я могу сделать с javascript, чтобы выполнить действие перед тем, как пользователь выйдет или перезагрузит страницу?