Component Interaction

From Get docs
Angular/docs/8/guide/component-interaction


Component Interaction

This cookbook contains recipes for common component communication scenarios in which two or more components share information.

See the .

Pass data from parent to child with input binding

HeroChildComponent has two input properties, typically adorned with @Input decorations.

import { Component, Input } from '@angular/core';

import { Hero } from './hero';

@Component({
  selector: 'app-hero-child',
  template: `
    <h3>{{hero.name}} says:</h3>
    <p>I, {{hero.name}}, am at your service, {{masterName}}.</p>
  `
})
export class HeroChildComponent {
  @Input() hero: Hero;
  @Input('master') masterName: string;
}

The second @Input aliases the child component property name masterName as 'master'.

The HeroParentComponent nests the child HeroChildComponent inside an *ngFor repeater, binding its master string property to the child's master alias, and each iteration's hero instance to the child's hero property.

import { Component } from '@angular/core';

import { HEROES } from './hero';

@Component({
  selector: 'app-hero-parent',
  template: `
    <h2>{{master}} controls {{heroes.length}} heroes</h2>
    <app-hero-child *ngFor="let hero of heroes"
      [hero]="hero"
      [master]="master">
    </app-hero-child>
  `
})
export class HeroParentComponent {
  heroes = HEROES;
  master = 'Master';
}

The running application displays three heroes:

[[../File:data:image/png;base64,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|thumb|none|272x267px]]

Test it

E2E test that all children were instantiated and displayed as expected:

// ...
let _heroNames = ['Dr IQ', 'Magneta', 'Bombasto'];
let _masterName = 'Master';

it('should pass properties to children properly', function () {
  let parent = element.all(by.tagName('app-hero-parent')).get(0);
  let heroes = parent.all(by.tagName('app-hero-child'));

  for (let i = 0; i < _heroNames.length; i++) {
    let childTitle = heroes.get(i).element(by.tagName('h3')).getText();
    let childDetail = heroes.get(i).element(by.tagName('p')).getText();
    expect(childTitle).toEqual(_heroNames[i] + ' says:');
    expect(childDetail).toContain(_masterName);
  }
});
// ...

Back to top

Intercept input property changes with a setter

Use an input property setter to intercept and act upon a value from the parent.

The setter of the name input property in the child NameChildComponent trims the whitespace from a name and replaces an empty value with default text.

import { Component, Input } from '@angular/core';

@Component({
  selector: 'app-name-child',
  template: '<h3>"{{name}}"</h3>'
})
export class NameChildComponent {
  private _name = '';

  @Input()
  set name(name: string) {
    this._name = (name && name.trim()) || '<no name set>';
  }

  get name(): string { return this._name; }
}

Here's the NameParentComponent demonstrating name variations including a name with all spaces:

import { Component } from '@angular/core';

@Component({
  selector: 'app-name-parent',
  template: `
  <h2>Master controls {{names.length}} names</h2>
  <app-name-child *ngFor="let name of names" [name]="name"></app-name-child>
  `
})
export class NameParentComponent {
  // Displays 'Dr IQ', '<no name set>', 'Bombasto'
  names = ['Dr IQ', '   ', '  Bombasto  '];
}

[[../File:data:image/png;base64,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|thumb|none|322x193px]]

Test it

E2E tests of input property setter with empty and non-empty names:

// ...
it('should display trimmed, non-empty names', function () {
  let _nonEmptyNameIndex = 0;
  let _nonEmptyName = '"Dr IQ"';
  let parent = element.all(by.tagName('app-name-parent')).get(0);
  let hero = parent.all(by.tagName('app-name-child')).get(_nonEmptyNameIndex);

  let displayName = hero.element(by.tagName('h3')).getText();
  expect(displayName).toEqual(_nonEmptyName);
});

it('should replace empty name with default name', function () {
  let _emptyNameIndex = 1;
  let _defaultName = '"<no name set>"';
  let parent = element.all(by.tagName('app-name-parent')).get(0);
  let hero = parent.all(by.tagName('app-name-child')).get(_emptyNameIndex);

  let displayName = hero.element(by.tagName('h3')).getText();
  expect(displayName).toEqual(_defaultName);
});
// ...

Back to top

Intercept input property changes with ngOnChanges()

Detect and act upon changes to input property values with the ngOnChanges() method of the OnChanges lifecycle hook interface.

You may prefer this approach to the property setter when watching multiple, interacting input properties.

Learn about ngOnChanges() in the Lifecycle Hooks chapter.

This VersionChildComponent detects changes to the major and minor input properties and composes a log message reporting these changes:

import { Component, Input, OnChanges, SimpleChange } from '@angular/core';

@Component({
  selector: 'app-version-child',
  template: `
    <h3>Version {{major}}.{{minor}}</h3>
    <h4>Change log:</h4>
    <ul>
      <li *ngFor="let change of changeLog">{{change}}</li>
    </ul>
  `
})
export class VersionChildComponent implements OnChanges {
  @Input() major: number;
  @Input() minor: number;
  changeLog: string[] = [];

  ngOnChanges(changes: {[propKey: string]: SimpleChange}) {
    let log: string[] = [];
    for (let propName in changes) {
      let changedProp = changes[propName];
      let to = JSON.stringify(changedProp.currentValue);
      if (changedProp.isFirstChange()) {
        log.push(`Initial value of ${propName} set to ${to}`);
      } else {
        let from = JSON.stringify(changedProp.previousValue);
        log.push(`${propName} changed from ${from} to ${to}`);
      }
    }
    this.changeLog.push(log.join(', '));
  }
}

The VersionParentComponent supplies the minor and major values and binds buttons to methods that change them.

import { Component } from '@angular/core';

@Component({
  selector: 'app-version-parent',
  template: `
    <h2>Source code version</h2>
    <button (click)="newMinor()">New minor version</button>
    <button (click)="newMajor()">New major version</button>
    <app-version-child [major]="major" [minor]="minor"></app-version-child>
  `
})
export class VersionParentComponent {
  major = 1;
  minor = 23;

  newMinor() {
    this.minor++;
  }

  newMajor() {
    this.major++;
    this.minor = 0;
  }
}

Here's the output of a button-pushing sequence:

[[../File:data:image/gif;base64,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|thumb|none|481x264px]]

Test it

Test that both input properties are set initially and that button clicks trigger the expected ngOnChanges calls and values:

// ...
// Test must all execute in this exact order
it('should set expected initial values', function () {
  let actual = getActual();

  let initialLabel = 'Version 1.23';
  let initialLog = 'Initial value of major set to 1, Initial value of minor set to 23';

  expect(actual.label).toBe(initialLabel);
  expect(actual.count).toBe(1);
  expect(actual.logs.get(0).getText()).toBe(initialLog);
});

it('should set expected values after clicking \'Minor\' twice', function () {
  let repoTag = element(by.tagName('app-version-parent'));
  let newMinorButton = repoTag.all(by.tagName('button')).get(0);

  newMinorButton.click().then(function() {
    newMinorButton.click().then(function() {
      let actual = getActual();

      let labelAfter2Minor = 'Version 1.25';
      let logAfter2Minor = 'minor changed from 24 to 25';

      expect(actual.label).toBe(labelAfter2Minor);
      expect(actual.count).toBe(3);
      expect(actual.logs.get(2).getText()).toBe(logAfter2Minor);
    });
  });
});

it('should set expected values after clicking \'Major\' once', function () {
  let repoTag = element(by.tagName('app-version-parent'));
  let newMajorButton = repoTag.all(by.tagName('button')).get(1);

  newMajorButton.click().then(function() {
    let actual = getActual();

    let labelAfterMajor = 'Version 2.0';
    let logAfterMajor = 'major changed from 1 to 2, minor changed from 25 to 0';

    expect(actual.label).toBe(labelAfterMajor);
    expect(actual.count).toBe(4);
    expect(actual.logs.get(3).getText()).toBe(logAfterMajor);
  });
});

function getActual() {
  let versionTag = element(by.tagName('app-version-child'));
  let label = versionTag.element(by.tagName('h3')).getText();
  let ul = versionTag.element((by.tagName('ul')));
  let logs = ul.all(by.tagName('li'));

  return {
    label: label,
    logs: logs,
    count: logs.count()
  };
}
// ...

Back to top

Parent listens for child event

The child component exposes an EventEmitter property with which it emits events when something happens. The parent binds to that event property and reacts to those events.

The child's EventEmitter property is an output property, typically adorned with an @Output decoration as seen in this VoterComponent:

import { Component, EventEmitter, Input, Output } from '@angular/core';

@Component({
  selector: 'app-voter',
  template: `
    <h4>{{name}}</h4>
    <button (click)="vote(true)"  [disabled]="didVote">Agree</button>
    <button (click)="vote(false)" [disabled]="didVote">Disagree</button>
  `
})
export class VoterComponent {
  @Input()  name: string;
  @Output() voted = new EventEmitter<boolean>();
  didVote = false;

  vote(agreed: boolean) {
    this.voted.emit(agreed);
    this.didVote = true;
  }
}

Clicking a button triggers emission of a true or false, the boolean payload.

The parent VoteTakerComponent binds an event handler called onVoted() that responds to the child event payload $event and updates a counter.

import { Component }      from '@angular/core';

@Component({
  selector: 'app-vote-taker',
  template: `
    <h2>Should mankind colonize the Universe?</h2>
    <h3>Agree: {{agreed}}, Disagree: {{disagreed}}</h3>
    <app-voter *ngFor="let voter of voters"
      [name]="voter"
      (voted)="onVoted($event)">
    </app-voter>
  `
})
export class VoteTakerComponent {
  agreed = 0;
  disagreed = 0;
  voters = ['Narco', 'Celeritas', 'Bombasto'];

  onVoted(agreed: boolean) {
    agreed ? this.agreed++ : this.disagreed++;
  }
}

The framework passes the event argument—represented by $event—to the handler method, and the method processes it:

[[../File:data:image/gif;base64,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|thumb|none|418x342px]]

Test it

Test that clicking the Agree and Disagree buttons update the appropriate counters:

// ...
it('should not emit the event initially', function () {
  let voteLabel = element(by.tagName('app-vote-taker'))
    .element(by.tagName('h3')).getText();
  expect(voteLabel).toBe('Agree: 0, Disagree: 0');
});

it('should process Agree vote', function () {
  let agreeButton1 = element.all(by.tagName('app-voter')).get(0)
    .all(by.tagName('button')).get(0);
  agreeButton1.click().then(function() {
    let voteLabel = element(by.tagName('app-vote-taker'))
      .element(by.tagName('h3')).getText();
    expect(voteLabel).toBe('Agree: 1, Disagree: 0');
  });
});

it('should process Disagree vote', function () {
  let agreeButton1 = element.all(by.tagName('app-voter')).get(1)
    .all(by.tagName('button')).get(1);
  agreeButton1.click().then(function() {
    let voteLabel = element(by.tagName('app-vote-taker'))
      .element(by.tagName('h3')).getText();
    expect(voteLabel).toBe('Agree: 1, Disagree: 1');
  });
});
// ...

Back to top

Parent interacts with child via local variable

A parent component cannot use data binding to read child properties or invoke child methods. You can do both by creating a template reference variable for the child element and then reference that variable within the parent template as seen in the following example.

The following is a child CountdownTimerComponent that repeatedly counts down to zero and launches a rocket. It has start and stop methods that control the clock and it displays a countdown status message in its own template.

import { Component, OnDestroy, OnInit } from '@angular/core';

@Component({
  selector: 'app-countdown-timer',
  template: '<p>{{message}}</p>'
})
export class CountdownTimerComponent implements OnInit, OnDestroy {

  intervalId = 0;
  message = '';
  seconds = 11;

  clearTimer() { clearInterval(this.intervalId); }

  ngOnInit()    { this.start(); }
  ngOnDestroy() { this.clearTimer(); }

  start() { this.countDown(); }
  stop()  {
    this.clearTimer();
    this.message = `Holding at T-${this.seconds} seconds`;
  }

  private countDown() {
    this.clearTimer();
    this.intervalId = window.setInterval(() => {
      this.seconds -= 1;
      if (this.seconds === 0) {
        this.message = 'Blast off!';
      } else {
        if (this.seconds < 0) { this.seconds = 10; } // reset
        this.message = `T-${this.seconds} seconds and counting`;
      }
    }, 1000);
  }
}

The CountdownLocalVarParentComponent that hosts the timer component is as follows:

import { Component }                from '@angular/core';
import { CountdownTimerComponent }  from './countdown-timer.component';

@Component({
  selector: 'app-countdown-parent-lv',
  template: `
  <h3>Countdown to Liftoff (via local variable)</h3>
  <button (click)="timer.start()">Start</button>
  <button (click)="timer.stop()">Stop</button>
  <div class="seconds">{{timer.seconds}}</div>
  <app-countdown-timer #timer></app-countdown-timer>
  `,
  styleUrls: ['../assets/demo.css']
})
export class CountdownLocalVarParentComponent { }

The parent component cannot data bind to the child's start and stop methods nor to its seconds property.

You can place a local variable, #timer, on the tag <countdown-timer> representing the child component. That gives you a reference to the child component and the ability to access any of its properties or methods from within the parent template.

This example wires parent buttons to the child's start and stop and uses interpolation to display the child's seconds property.

Here we see the parent and child working together.

[[../File:data:image/gif;base64,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AAEFgpxJy2AwAweKDci5M2UCAQYE8FIQUcCABT6lKaTJFJZNXAQWECimgOSCASQDBDgA82iAAQGulvPYtGylp712LghggJcAmAr/BuBSsKDBSVxvi81LQBaSMbM0RV4cR2AnzJVzDZxcEBfmT5ZjF0qSBnhTBQHdbPJiIFcX3QYCWNJlEJQxgwB4Wcbs++FiZU0VLj9Di5MALgOMQyfAqYtBXbC6QiOjx5rya0wVClQg4AxtAt8LFhwgUCDq9APStxJgwACq9IAN3lCadvxSBQDKCQBYz769e/eCpfmq2kAvxQb062usqGCXNPGTGFdeJeehtxwzT+miYC8KAuPfLsDokot/CSBjTXHpJDCgJQUayNws4iyoYEYj7qJfAib2ssuDCvqyIobCbEhgewks996N7dmCC4QoNtgjjys24KCPQQ754hoBDiMj/yUdrpeeLM4hJCVf4ym5pCRNrlfjh5uAscU1YFYjZphkjtlRleZcmaWWB8LCBhtuvBknnHLWSeedc+Zpp55lhPEFAJNJedyabHJ55SQ4Jqrooow2yh6hbCrg6KSUVmrppZgqCmmkmXbq6aegNropp6GWauqplI5KKqqstsqqqqu6KuusmMIaK6245pqorbfq6quuvPb667CuBisssciWauyxyTab6bLMOivtpNBGO+21u2aaAAUG0JTBt+CGK+644HZQwLWwThDbuuxWQAFN7cYrb7wWJIDujfY+uuG8/Mpb773tNYCBBe11gNmA/SYc27/TNimwAhMgwN4BF8iocL6/DEvbocANAKBABu1VoCHCF89rwbkNr/cwew8EwF4EElhcMr35agzAyuwx8AB7CZws88zrZuxsBRy/l4F662lwwJJAB42yxhhI+t4CE7AnAAdqNi10sxvU7F4BFHjAHgQDMK2119i+F7HVD2Q988lpJ/qxkxGI7PbFW8fd3gMMSECBAwoc+sHbaOudswURjCz4208b/rXgWOJdOOSURyK5e5Vn/ojCcLen+ecY1/z56IObnC/pqJfObueOVxoIACH5BAUKAB8ALIsAPQAzACcAAAf/gACCg4SFhoUVAoeLjI2OhBWJj5OUjBUFFQSVm5sVAJianKKNnp+Zo6iGpaahqamrAAmnrqiwrLSjtrGzuJW6u629j7/AwpPEuwrGjsjJy5aOssrPqo/S1IiT19iCzYTb2N7fFdPU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|thumb|none|212x172px]]

Test it

Test that the seconds displayed in the parent template match the seconds displayed in the child's status message. Test also that clicking the Stop button pauses the countdown timer:

// ...
it('timer and parent seconds should match', function () {
  let parent = element(by.tagName(parentTag));
  let message = parent.element(by.tagName('app-countdown-timer')).getText();
  browser.sleep(10); // give `seconds` a chance to catchup with `message`
  let seconds = parent.element(by.className('seconds')).getText();
  expect(message).toContain(seconds);
});

it('should stop the countdown', function () {
  let parent = element(by.tagName(parentTag));
  let stopButton = parent.all(by.tagName('button')).get(1);

  stopButton.click().then(function() {
    let message = parent.element(by.tagName('app-countdown-timer')).getText();
    expect(message).toContain('Holding');
  });
});
// ...

Back to top

Parent calls an @ViewChild()

The local variable approach is simple and easy. But it is limited because the parent-child wiring must be done entirely within the parent template. The parent component itself has no access to the child.

You can't use the local variable technique if an instance of the parent component class must read or write child component values or must call child component methods.

When the parent component class requires that kind of access, inject the child component into the parent as a ViewChild.

The following example illustrates this technique with the same Countdown Timer example. Neither its appearance nor its behavior will change. The child CountdownTimerComponent is the same as well.

The switch from the local variable to the ViewChild technique is solely for the purpose of demonstration.

Here is the parent, CountdownViewChildParentComponent:

import { AfterViewInit, ViewChild } from '@angular/core';
import { Component }                from '@angular/core';
import { CountdownTimerComponent }  from './countdown-timer.component';

@Component({
  selector: 'app-countdown-parent-vc',
  template: `
  <h3>Countdown to Liftoff (via ViewChild)</h3>
  <button (click)="start()">Start</button>
  <button (click)="stop()">Stop</button>
  <div class="seconds">{{ seconds() }}</div>
  <app-countdown-timer></app-countdown-timer>
  `,
  styleUrls: ['../assets/demo.css']
})
export class CountdownViewChildParentComponent implements AfterViewInit {

  @ViewChild(CountdownTimerComponent, {static: false})
  private timerComponent: CountdownTimerComponent;

  seconds() { return 0; }

  ngAfterViewInit() {
    // Redefine `seconds()` to get from the `CountdownTimerComponent.seconds` ...
    // but wait a tick first to avoid one-time devMode
    // unidirectional-data-flow-violation error
    setTimeout(() => this.seconds = () => this.timerComponent.seconds, 0);
  }

  start() { this.timerComponent.start(); }
  stop() { this.timerComponent.stop(); }
}

It takes a bit more work to get the child view into the parent component class.

First, you have to import references to the ViewChild decorator and the AfterViewInit lifecycle hook.

Next, inject the child CountdownTimerComponent into the private timerComponent property via the @ViewChild property decoration.

The #timer local variable is gone from the component metadata. Instead, bind the buttons to the parent component's own start and stop methods and present the ticking seconds in an interpolation around the parent component's seconds method.

These methods access the injected timer component directly.

The ngAfterViewInit() lifecycle hook is an important wrinkle. The timer component isn't available until after Angular displays the parent view. So it displays 0 seconds initially.

Then Angular calls the ngAfterViewInit lifecycle hook at which time it is too late to update the parent view's display of the countdown seconds. Angular's unidirectional data flow rule prevents updating the parent view's in the same cycle. The app has to wait one turn before it can display the seconds.

Use setTimeout() to wait one tick and then revise the seconds() method so that it takes future values from the timer component.

Test it

Use the same countdown timer tests as before.

Back to top

Parent and children communicate via a service

A parent component and its children share a service whose interface enables bi-directional communication within the family.

The scope of the service instance is the parent component and its children. Components outside this component subtree have no access to the service or their communications.

This MissionService connects the MissionControlComponent to multiple AstronautComponent children.

import { Injectable } from '@angular/core';
import { Subject }    from 'rxjs';

@Injectable()
export class MissionService {

  // Observable string sources
  private missionAnnouncedSource = new Subject<string>();
  private missionConfirmedSource = new Subject<string>();

  // Observable string streams
  missionAnnounced$ = this.missionAnnouncedSource.asObservable();
  missionConfirmed$ = this.missionConfirmedSource.asObservable();

  // Service message commands
  announceMission(mission: string) {
    this.missionAnnouncedSource.next(mission);
  }

  confirmMission(astronaut: string) {
    this.missionConfirmedSource.next(astronaut);
  }
}

The MissionControlComponent both provides the instance of the service that it shares with its children (through the providers metadata array) and injects that instance into itself through its constructor:

import { Component }          from '@angular/core';

import { MissionService }     from './mission.service';

@Component({
  selector: 'app-mission-control',
  template: `
    <h2>Mission Control</h2>
    <button (click)="announce()">Announce mission</button>
    <app-astronaut *ngFor="let astronaut of astronauts"
      [astronaut]="astronaut">
    </app-astronaut>
    <h3>History</h3>
    <ul>
      <li *ngFor="let event of history">{{event}}</li>
    </ul>
  `,
  providers: [MissionService]
})
export class MissionControlComponent {
  astronauts = ['Lovell', 'Swigert', 'Haise'];
  history: string[] = [];
  missions = ['Fly to the moon!',
              'Fly to mars!',
              'Fly to Vegas!'];
  nextMission = 0;

  constructor(private missionService: MissionService) {
    missionService.missionConfirmed$.subscribe(
      astronaut => {
        this.history.push(`${astronaut} confirmed the mission`);
      });
  }

  announce() {
    let mission = this.missions[this.nextMission++];
    this.missionService.announceMission(mission);
    this.history.push(`Mission "${mission}" announced`);
    if (this.nextMission >= this.missions.length) { this.nextMission = 0; }
  }
}

The AstronautComponent also injects the service in its constructor. Each AstronautComponent is a child of the MissionControlComponent and therefore receives its parent's service instance:

import { Component, Input, OnDestroy } from '@angular/core';

import { MissionService } from './mission.service';
import { Subscription }   from 'rxjs';

@Component({
  selector: 'app-astronaut',
  template: `
    <p>
      {{astronaut}}: <strong>{{mission}}</strong>
      <button
        (click)="confirm()"
        [disabled]="!announced || confirmed">
        Confirm
      </button>
    </p>
  `
})
export class AstronautComponent implements OnDestroy {
  @Input() astronaut: string;
  mission = '<no mission announced>';
  confirmed = false;
  announced = false;
  subscription: Subscription;

  constructor(private missionService: MissionService) {
    this.subscription = missionService.missionAnnounced$.subscribe(
      mission => {
        this.mission = mission;
        this.announced = true;
        this.confirmed = false;
    });
  }

  confirm() {
    this.confirmed = true;
    this.missionService.confirmMission(this.astronaut);
  }

  ngOnDestroy() {
    // prevent memory leak when component destroyed
    this.subscription.unsubscribe();
  }
}

Notice that this example captures the subscription and unsubscribe() when the AstronautComponent is destroyed. This is a memory-leak guard step. There is no actual risk in this app because the lifetime of a AstronautComponent is the same as the lifetime of the app itself. That would not always be true in a more complex application.

You don't add this guard to the MissionControlComponent because, as the parent, it controls the lifetime of the MissionService.

The History log demonstrates that messages travel in both directions between the parent MissionControlComponent and the AstronautComponent children, facilitated by the service:

[[../File:data:image/gif;base64,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AAcIHEiwoMGDCBMqXMiwocOHEA8WuECxosWLGDNq3MjxooCIIEOKHEmyJMELClKqXMmypcuXMGOyvGCyps2bOB2ilMmzp0+YNHMKHUp05AUKCpAqTcp0qdOmUJ9KjUp1adCiWLNqPbmBgtevYMOKHUu2rFmwFraqXSvUAoWuG+LKdWMiRQpIbzC8lcu3b1wYN2pEsvFkr9/Dfq+yXcwYpAXEJWywULGhUY03hhHLNXCCxobIhTWLjtu4tOmGj/1iKKJo84k2GEbLFXFikezbG9Ke3s17IIbfwDHIuIEjeHC6LmosMlCChAUhKVjEqJtCEQzCkRmluGDjAnQaj75v/zD+u0Lv87vJR25BHsP0yTpItCghRJEKGEIWEejM3MZ8ISwYIEN9KswQXYGXtYfegqUZ4OCD6z34IAbNPSFQZ/S1YIAb+U1HQ3/zyRdAhiBioEMNZEjoIAYgMOjiViA4GIABMwbA4SI1GiBQACe+YYCH6wUQww05eGjAdS0gOaJ/ASBpQI80yuhgiy9WSRQIAWSpZZYnKLIla03K96MJNMAg4o0ehpmkiGa2oCaPl22pJZVW1nkTlnLOiB8LAhDwiIjvFShfmwHIYEORJ7AQpkBsNupmj3kGQKedlJIEAgEBYKopAQTAcIBdjLQAAKeeJvdCp/IBMBwOHqKagAMdiP/aJgCznqhHlpxmGkAIlfY6UgicBhssAMQCoIIAo2JKbKbDjsqssJwu4MEADAzLabG5Jissr752C1EIxYYr7rjklhtuAgNVa2653Hrr7kIHCCDvvPTWa++9+AIwkAQD7EAAvvge8O7ACcUL8MEI1wsAugT5m/C8AhMsMUEHFGDxxRhnrPHGHH9k0A4CcKxxxBNP3MABKKes8sost+xyuwWhEILLKofQQMk456zzzjz37PPPQAct9NBEF2300UgnrfTSTDft9NNQRy311FRXbfXVWGet9dZcd+3112CHLfbYZJdt9tlop6322my37fbbcMct99x012333XjnrffefPf/7fffgAcu+OCEF2744YgnrvjijDfu+OOQRy755JRXbvnlmGeu+eacd+7556CHLvropJdu+umop6766qy37vrrsMcu++y012777bjnrvvuvPfu++/ABy/88MQXb/zxyCev/PLMN+/889BHL/301Fdv/fXYZ6/99tx37/334Icv/vjkl2/+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|thumb|none|310x346px]]

Test it

Tests click buttons of both the parent MissionControlComponent and the AstronautComponent children and verify that the history meets expectations:

// ...
it('should announce a mission', function () {
  let missionControl = element(by.tagName('app-mission-control'));
  let announceButton = missionControl.all(by.tagName('button')).get(0);
  announceButton.click().then(function () {
    let history = missionControl.all(by.tagName('li'));
    expect(history.count()).toBe(1);
    expect(history.get(0).getText()).toMatch(/Mission.* announced/);
  });
});

it('should confirm the mission by Lovell', function () {
  testConfirmMission(1, 2, 'Lovell');
});

it('should confirm the mission by Haise', function () {
  testConfirmMission(3, 3, 'Haise');
});

it('should confirm the mission by Swigert', function () {
  testConfirmMission(2, 4, 'Swigert');
});

function testConfirmMission(buttonIndex: number, expectedLogCount: number, astronaut: string) {
  let _confirmedLog = ' confirmed the mission';
  let missionControl = element(by.tagName('app-mission-control'));
  let confirmButton = missionControl.all(by.tagName('button')).get(buttonIndex);
  confirmButton.click().then(function () {
    let history = missionControl.all(by.tagName('li'));
    expect(history.count()).toBe(expectedLogCount);
    expect(history.get(expectedLogCount - 1).getText()).toBe(astronaut + _confirmedLog);
  });
}
// ...

Back to top

© 2010–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v8.angular.io/guide/component-interaction