.l-main-section 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, and by specifying the child component classes in the parent's list of directives. 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-example(language="dart" format="linenums"). library parent_child.parent; import 'package:angular2/angular2.dart'; import 'package:parent_child/child.dart'; @Component(selector: 'parent') @View(template: ''' <h1>{{ message }}</h1> <child></child> ''', directives: const [ChildComponent]) class ParentComponent { String message = "I'm the parent"; } p You then just need to write the ChildComponent class to make it work: code-example(language="dart" format="linenums"). library parent_child.child; import 'package:angular2/angular2.dart'; @Component(selector: 'child') @View(template: ''' <p> {{ message }} </p> ''') class ChildComponent { String message = "I'm the child"; } //- [TODO: Motivate communication between components with iterator example that passes index to the child]