Skip to content

Исследовать v-hook и вызов обработчиков на обычных узлах #1510

@shining-mind

Description

@shining-mind

TL;DR
При unmount Vue не вызывает обработчики на узлах, если они не попадают в dynamicChildren.


Было замечено, что при асинк рендере в некоторых случаях у функциональных компонентов не вызывается хук beforeUnmount, потому что он не попадает в dynamicChildren.

Также стоит проверить кейс для обычного рендера.

Подумать какие ещё могут быть кейсы, возможно проблема актуальна не только для unmount, но и для других хуков (created, updated и т.п.)

Аффектит директивы: v-icon, v-bind-with, v-in-view, v-on-resize, v-analytics, v-rtb, v-touch, v-zoom


Первый пример в ветке examples/1510. Здесь пришлось отключить вызов unmount внутри движка директивы, чтобы показать в каких случаях Vue не вызывает unmount узлов.

Смотреть последовательно шаблоны компонентов: b-example-issue-* (one, two, three). Эти 3 примера произрастают друг из друга, в них показаны ситуации когда в начале v-hook ломается, потом начинает работать, а потом опять ломается.

Второй пример в ветке examples/1510-unmodified.

Здесь показан баг с очисткой узлов и функциональных компонентов при использовании асинк-рендера.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions