.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]