Thanks for pointing out that the core widget is watching for an app event in defaultState
- that is actually incorrect as it is never unloaded (cc @tgxworld) . In the case of search that might not be a problem since the widget is probably never unmounted but it’s not correct. (I’ve added it to my list to improve.)
The correct way to delegate events to widgets is by using dispatch()
. For example:
In that case, every time the notifications:changed
event is fired, it will call notificationsChanged()
in the user-notifications
widget. After the method is called, it will automatically queue a rerender.
The event will be automatically removed when the widget is unmounted.