Size: a a a

Vue.js Russian Developers Community

2020 September 14

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Александр Козлов
естественно, это счетчик кол-ва узлов в памяти сейчас
сбор мусора это совсем другой слой абстракции, к роутеру vue он не имеет никакого отношения
источник

АК

Александр Козлов... in Vue.js Russian Developers Community
Рафаил Мамедов
сбор мусора это совсем другой слой абстракции, к роутеру vue он не имеет никакого отношения
да я с тобой согласен полностью, но почему когда я покидаю страницу он НЕ чистит  узлы?
источник

АК

Александр Козлов... in Vue.js Russian Developers Community
если ты сделаешь слепок страницы, ты увидишь, что они действительно есть в памяти
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Александр Козлов
да я с тобой согласен полностью, но почему когда я покидаю страницу он НЕ чистит  узлы?
потому что ты не покидаешь страницу, ты манипулируешь информацией на одной странице

страница роутера и страница браузера это разные вещи
источник

АК

Александр Козлов... in Vue.js Russian Developers Community
Рафаил Мамедов
потому что ты не покидаешь страницу, ты манипулируешь информацией на одной странице

страница роутера и страница браузера это разные вещи
я понимаю, но когда ты покидаешь страницу роутера, он должен очистить узлы
источник

АК

Александр Козлов... in Vue.js Russian Developers Community
в этом примере всего 2к узлов, в действительности у меня на каждой странице по 10-15к и он их не чистит, все начинает течь
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Александр Козлов
я понимаю, но когда ты покидаешь страницу роутера, он должен очистить узлы
он об этом даже не узнает, это разные слои ПО
источник

АК

Александр Козлов... in Vue.js Russian Developers Community
Рафаил Мамедов
он об этом даже не узнает, это разные слои ПО
окей, как мне это контролировать?
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Александр Козлов
окей, как мне это контролировать?
никак, сбор мусора - системная задача
источник

АК

Александр Козлов... in Vue.js Russian Developers Community
Рафаил Мамедов
никак, сбор мусора - системная задача
так окей, но возникает вопрос, когда у меня пользователь посетит 20-30 страниц по 10-15к у него в памяти что будет? И кто должен решать эту задачу?
Просто у меня ситуация когда, у юзера тупо вырубается вкладка из-за того, что там капец как много ДОМ нод
источник

АК

Александр Козлов... in Vue.js Russian Developers Community
возможно это не правильный подход, но кол-во дом нод я не могу сократить
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Александр Козлов
так окей, но возникает вопрос, когда у меня пользователь посетит 20-30 страниц по 10-15к у него в памяти что будет? И кто должен решать эту задачу?
Просто у меня ситуация когда, у юзера тупо вырубается вкладка из-за того, что там капец как много ДОМ нод
https://codesandbox.io/s/cocky-archimedes-clbce?file=/index.html

вот простейший код, тут тоже будет расти метрика DOM Nodes
это - доказательство, что ни Vue Router, ни Vue не имеют отношения к этому вопросу
источник

АК

Александр Козлов... in Vue.js Russian Developers Community
либо я что-то в корне делают не так, потому что ходя, например, по vuetify сайту у меня все чистится
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Александр Козлов
так окей, но возникает вопрос, когда у меня пользователь посетит 20-30 страниц по 10-15к у него в памяти что будет? И кто должен решать эту задачу?
Просто у меня ситуация когда, у юзера тупо вырубается вкладка из-за того, что там капец как много ДОМ нод
эту задачу решает браузер
по крайней мере лично я не знаю ручного способа запускать сборщик мусора
источник

АК

Александр Козлов... in Vue.js Russian Developers Community
Рафаил Мамедов
https://codesandbox.io/s/cocky-archimedes-clbce?file=/index.html

вот простейший код, тут тоже будет расти метрика DOM Nodes
это - доказательство, что ни Vue Router, ни Vue не имеют отношения к этому вопросу
угу, только если ты руками позовешь gc он очищает
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Если «капец как много ДОМ нод», то используйте virtual scroll и Intersection Observer API и рендерите только то, что реально видно на экране
источник

АК

Александр Козлов... in Vue.js Russian Developers Community
Рафаил Мамедов
Если «капец как много ДОМ нод», то используйте virtual scroll и Intersection Observer API и рендерите только то, что реально видно на экране
там много сразу на экране видно
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Александр Козлов
угу, только если ты руками позовешь gc он очищает
а как именно?
источник

M_

MRG _Serejka in Vue.js Russian Developers Community
Здравствуйте подскажите как избежать отображения изображения при клике
источник

АК

Александр Козлов... in Vue.js Russian Developers Community
Рафаил Мамедов
а как именно?
источник