.statement
  h4 Live Examples
  p.
    If you want to skip to the working examples you can check out these links on Plunker. TypeScript Example or  ES5 Example.
.l-main-section
  h2#section-its-all-a-tree It's all a tree
  p.
      As mentioned earlier, you build Angular applications as a tree of nested components.  You've seen how to create
      a top-level component.  You add child components to a parent component by using them in the parent component's
      template.
  p.
      Given a bootstrapping template with a <parent> tag in the body, you can create a parent
      component that uses a <child> component like so:
  .code-box
    pre.prettyprint.linenums.lang-javascript(data-name="es5")
      code.
        //ES5
        function ParentComponent() {
          this.message = "I'm the parent";
        }
        ParentComponent.annotations = [
          new angular.Component({
            selector: "parent"
          }),
          new angular.View({
            template:
              '<h1>{{ message }}</h1>' +
              '<child></child>',
            directives: [ChildComponent]
          })
        ];
    pre.prettyprint.linenums.lang-typescript(data-name="typescript")
      code.
        //TypeScript
        @Component({
          selector: 'parent'
        })
        @View({
          template: `
            <h1>{{ message }}</h1>
            <child></child>
          `,
          directives: [ChildComponent]
        })
        class ParentComponent {
          message: string;
          constructor() {
            this.message = "I'm the parent";
          }
        }
  p You then just need to write the ChildComponent class to make it work:
  .code-box
    pre.prettyprint.linenums.lang-javascript(data-name="es5")
      code.
        //ES5
        function ChildComponent() {
          this.message = "I'm the child";
        }
        ChildComponent.annotations = [
          new angular.Component({
            selector: "child"
          }),
          new angular.View({
            template: '<p> {{ message }} </p>'
          })
        ];
    pre.prettyprint.linenums.lang-typescript(data-name="typescript")
      code.
        //TypeScript
        @Component({
          selector: 'child'
        })
        @View({
          template: `
            <p> {{ message }} </p>
          `
        })
        class ChildComponent {
          constructor() {
            this.message = "I'm the child";
          }
        }
  p.
      Notice that in addition to using the <child> element in the parent template, you also need to
      add ChildComponent in ParentComponent's list of directives.