.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: pre.prettyprint.linenums.lang-dart code. part of making_components; @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: pre.prettyprint.linenums.lang-dart code. part of making_components; @Component( selector: 'child' ) @View( template: ''' <p> {{ message }} </p> ''' ) class ChildComponent { String message = "I'm the child"; } //p. [TODO: Motivate communication between components with iterator example that passes index to the child]