Communication between parent and child work well with just binding.
Otherwise use a shared service
See http://stackoverflow.com/questions/34700438/global-events-in-angular-2
for an example
On Monday, January 25, 2016 at 3:11:09 AM UTC+1, Chris Derossi wrote:
>
> I want to be able to communicate (i.e. call methods) between a component
> instance and one of its child component instances. Or just as good for me,
> call from one component instance to the parent component instance.
>
> For example, take this pseudo setup:
>
> @Component({
> selector: 'outerC',
> template: `
> <div>stuff</div>
> <router-outlet></router-outlet>
> `,
> directives: [ROUTER_DIRECTIVES]
> })
> @RouteConfig([
> {path:'/', name: 'ItemList', component: ItemListComponent,
> useAsDefault: true},
> {path:'/:id', name: 'ItemDetail', component: ItemDetailComponent},
> ])
> export class OuterComponent
> {
> constructor( ) { }
> }
>
> @Component({
> selector: 'item-list',
> template: `<div>stuff</div>`
> })
> export class ItemListComponent
> {
> constructor( ) { }
> something() { return x; }
> }
>
> @Component({
> selector: 'item-detail',
> template: `<div>stuff</div>`
> })
> export class ItemDetailComponent
> {
> constructor( ) { }
> something() { return x; }
> }
>
> I'd like the code in OuterComponent to be able to call the something()
> method on whichever component instance that the router inserts at the
> router-outlet location. Or, conversely and more generally, I'd like code in
> ItemListComponent or ItemDetailComponent to be able to call methods on the
> OuterComponent instance that is hosting them.
>
> Is there a "right" way for these instances to get references to each
> other? It doesn't look like there's an interface on Router to let
> OuterComponent find out what the Router has inserted at the router-outlet.
>
> I've looked at the ViewQuery stuff and I can sorta make it work. But it
> requires that I code specifically for the class names that I'm looking for.
> As my RouteConfig evolves and gets lengthy, I dislike the idea that I'd
> have to manually keep a parallel list of the possible components in my
> Query.
>
> Any ideas, or feedback about why I'm looking at this the wrong way?
>
> Thanks!
>
>
--
You received this message because you are subscribed to the Google Groups
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.