никакой сущности this на тот момент уже нет, ведь она была удалена? Ведь метод this.test присутствует в приложении только у Rating.vue, ошибки тут не может быть. Значит, если после ухода со страницы экземпляра я ещё могу получить доступ к нему, он не удалён)
ИвентБас делает свою обычную работу, хранит ссылку на метод, который нужно вызывать и он тут вообще не при чём.
>Значит, если после ухода со страницы экземпляра я ещё могу получить доступ к нему, он не удалён) тут нужно подтянуть базовые знания JS и почитать про GC и замыкания, это не так работает инстанс может быть удален, но ссылка на него может остаться, в таком случае у инстанса будет свойство _isDestroyed: true >он тут вообще не при чём. ога, это не ивентбас неправильно работает, это вью неправильно удаляет компоненты, почти наверняка так и есть еще раз повторю - проблема в твоей реализации ивентбаса и том, где и как ты его используешь при этом ты до сих пор не показал его код
https://codesandbox.io/s/bitter-violet-c4pql0?file=/src/views/Rating.vue вот тебе такая же реализация, где все правильно удаляется и ничего не вызывается по несколько раз можешь закомментить 16 строку в Rating.vue и получить то же самое поведение, что и у тебя
В таком случае утечки памяти нет и всё в норме, спасибо, вы помогли мне понять и убедиться!
Обсуждают сегодня