2015-04-22 03:29:55 -04:00
|
|
|
.l-main-section
|
|
|
|
p.
|
2015-04-23 11:58:53 -04:00
|
|
|
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.
|
2015-04-22 03:29:55 -04:00
|
|
|
p.
|
2015-04-23 11:58:53 -04:00
|
|
|
Given a bootstrapping template with a <code><parent></code> tag in the body,
|
|
|
|
you can create a parent
|
2015-04-22 03:29:55 -04:00
|
|
|
component that uses a <code><child></code> component like so:
|
|
|
|
|
|
|
|
pre.prettyprint.linenums.lang-dart
|
|
|
|
code.
|
|
|
|
part of making_components;
|
|
|
|
|
|
|
|
@Component(
|
|
|
|
selector: 'parent'
|
|
|
|
)
|
|
|
|
@View(
|
|
|
|
template: '''
|
|
|
|
<h1>{{ message }}</h1>
|
2015-04-23 11:58:53 -04:00
|
|
|
<span class="pnk"><child></child></span>
|
2015-04-22 03:29:55 -04:00
|
|
|
''',
|
2015-04-23 11:58:53 -04:00
|
|
|
directives: const[<span class="pnk">ChildComponent</span>]
|
2015-04-22 03:29:55 -04:00
|
|
|
)
|
|
|
|
class ParentComponent {
|
|
|
|
String message = "I'm the parent";
|
|
|
|
}
|
|
|
|
|
|
|
|
p You then just need to write the <code>ChildComponent</code> 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";
|
|
|
|
}
|
|
|
|
|
2015-04-22 10:49:21 -04:00
|
|
|
//p.
|
2015-04-22 03:29:55 -04:00
|
|
|
[TODO: Motivate communication between components with iterator example that passes index to the child]
|