Open chestozo opened 7 years ago
чистить все "старые" виды: в декларации вида указано числовое свойство .lifetime, если после скрытия прошло больше времени - можно чистить
Тут наверное более правильной стратегией было бы обнуление этого параметра, если с видом совершены какие-либо действия, так как вид может копить события и в скрытом состоянии.
"Обнуление" пока кажется нужно только после показа. Остальные штуки не так важны - если вид когда-то будет показан - мы его отрендерим с нуля и учтём все изменившиеся данные (такой реакт для бедных ;).
Вообще идея с lifetime
такая, что у вида будет ещё hideTimestamp
, который будет сбрасываться на show
и снова устанавливаться на hide
. И проверка будет типа Date.now() - this.hideTimestamp > this.lifetime
.
@vitkarpov
Лайк!
По следам #284 #569
Хочется механизм чистки памяти от видов. Про модели - тоже хочется, но пока совсем не понятно, как. Про виды есть более менее логика.
Какие виды можно чистить (варианты логики):
.lifetime
, если после скрытия вида прошло больше времени - можно чистить.lifetime
, где описаны правила, когда чистить вид.В какой момент можно чистить виды:
destroy
черезsetTimeout
, но это опасно, потому как можно оказаться в серединеns.Update
-а