akrasman
akrasman

Reputation: 83

Broadcast event down to child tree in RactiveJS

I need fire event from parent component to childs components like broadcast method in AngularJS. How it possible in RactiveJS?

P.S: For example i have a tabs with different content includes components, when tabs renders only one tab active(visible) other tabs are hidden. When i select other tab it become active and show content. At this moment tab should send event refresh down to the childs component to let they know that they must initialize or refresh (because while it was hidden it couldn't initialized right).

Upvotes: 0

Views: 184

Answers (2)

martypdx
martypdx

Reputation: 3712

Within the tab component, observe that the tab has become "active" and call refresh:

this.observe('active', function(active){
    if(active){ control.refresh() }
})

Upvotes: 2

Chris Reeves
Chris Reeves

Reputation: 304

Events don't fire down the hierarchy.

One option would be to put the template in a section watching a visible or rendered flag. Then set the flag to true when the tab becomes active. If there is something outside of the template that needs to be handled, you can observe it from your script.

Out of curiosity, what can't initialize correctly while it's hidden? Or do you mean not rendered, as there is no DOM to access? In that case, you may want to look into decorators.

Upvotes: 1

Related Questions