Предположим, что ваш LayoutView называется видом A, он имеет область. В этом регионе показан ItemView под названием B. Когда A опустеет область, события будут запущены на вид B (before:destroy
и destroy
) - это происходит независимо от того, был ли показан вид B в его области с preventDestroy: true
или без.
preventDestroy: true
используется, когда вы хотите показать один вид в регионе, а затем другой в том же регионе, не разрушая предыдущий вид. Таким образом, в этом примере:
- Показать вид B в регионе.
- Показать (без
preventDestroy
) новый вид (C) в том же регионе - приведет к разрушению вида B и уничтожению событий.
- Показать вид B в регионе.
- Показать (с использованием
preventDestroy
) новый вид (C) в том же регионе - будет не вызвать вид B, который будет уничтожен, поэтому никакие события уничтожения не будут уволены.
Редактировать
В первом случае эти события обстреливали просмотров:
::: B ::: before:destroy
::: B ::: destroy
::: C ::: before:render
::: A ::: childview:before:render
::: C ::: render
::: A ::: childview:render
::: C ::: before:show
::: A ::: childview:before:show
::: C ::: before:attach
::: A ::: childview:before:attach
::: C ::: attach
::: A ::: childview:attach
::: C ::: dom:refresh
::: A ::: childview:dom:refresh
::: C ::: show
::: A ::: childview:show
Во втором случае эти события обстреливали просмотров:
::: C ::: before:render
::: A ::: childview:before:render
::: C ::: render
::: A ::: childview:render
::: C ::: before:show
::: A ::: childview:before:show
::: C ::: before:attach
::: A ::: childview:before:attach
::: C ::: attach
::: A ::: childview:attach
::: C ::: dom:refresh
::: A ::: childview:dom:refresh
::: C ::: show
::: A ::: childview:show
N что в последнем случае просмотр B не запускает уничтожение событий, и никаких других событий не происходит.
Правильно, есть ли какие-либо события, которые срабатывают при использовании preventDestroyed аналогично 'before: destroy'? Я не вижу их в исходном коде, поэтому, я думаю, они не существуют. – reid
Правильно, я добавил редактирование в ответ. Никаких других событий на вид Б. – miphe
Спасибо за ваш ответ :) – reid