mirror of
https://github.com/odoo/owl.git
synced 2025-10-06 19:59:41 +07:00
[IMP] component: can trigger event handlers even if unmounted
From the beginning, Owl was designed to only call event handler on components that are mounted in the DOM. The main benefit is that if a component is destroyed, we are guaranteed to not execute any useless (or potentially dangerous code). However, there is one downside: if a component tree is being mounted, and a child component trigger an event in its mounted hook, then it cannot be caught by the parent, since the parent is technically not yet mounted. This may not be a good situation, but the point is that Owl unnecessarily prevent the handler to be called. We can fix this issue by simply checking if the component is not destroyed instead of checking that it is mounted. closes #809
This commit is contained in:
@@ -663,7 +663,7 @@ function makeStore() {
|
||||
|
||||
function setup() {
|
||||
owl.config.mode = "dev";
|
||||
const env = {store: makeStore()};
|
||||
const env = { store: makeStore() };
|
||||
mount(App, { target: document.body, env });
|
||||
}
|
||||
```
|
||||
@@ -939,7 +939,7 @@ For reference, here is the final code:
|
||||
|
||||
function setup() {
|
||||
owl.config.mode = "dev";
|
||||
const env = {store: makeStore()};
|
||||
const env = { store: makeStore() };
|
||||
mount(App, { target: document.body, env });
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user