I thought observer were synchronous, and that the results would be “set, parent obs, child obs, ember.debug”, but it’s not, the child obs is called after the trigger method
Changes are not synchronized synchronously. They’re scheduled on a queue (i.e., the set).
I recommend checking out the documentation on the runloop to better understand it.
That said, there are probably ways to achieve what you’re after without the use of observers. I can’t really tell what that is because your example is a bit contrived.
Thanks for these links, they will be useful for sure.
My real question is. Why in the first case, the property change does trigger the observer of the child component, and when it’s changed again (to false) it is not?