| 
									
										
										
										
											2015-04-22 00:29:55 -07:00
										 |  |  | .l-main-section | 
					
						
							|  |  |  |   p. | 
					
						
							| 
									
										
										
										
											2015-04-23 08:58:53 -07: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 00:29:55 -07:00
										 |  |  |   p. | 
					
						
							| 
									
										
										
										
											2015-04-23 08:58:53 -07:00
										 |  |  |     Given a bootstrapping template with a <code><parent></code> tag in the body, | 
					
						
							|  |  |  |     you can create a parent | 
					
						
							| 
									
										
										
										
											2015-04-22 00:29:55 -07:00
										 |  |  |     component that uses a <code><child></code> component like so: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-19 09:21:11 -07:00
										 |  |  |   code-example(language="dart" format="linenums"). | 
					
						
							| 
									
										
										
										
											2015-06-03 12:54:59 -07:00
										 |  |  |     library parent_child.parent; | 
					
						
							| 
									
										
										
										
											2015-04-22 00:29:55 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-03 12:54:59 -07:00
										 |  |  |     import 'package:angular2/angular2.dart'; | 
					
						
							|  |  |  |     import 'package:parent_child/child.dart'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     @Component(selector: 'parent') | 
					
						
							|  |  |  |     @View(template: ''' | 
					
						
							| 
									
										
										
										
											2015-05-19 09:21:11 -07:00
										 |  |  |         <h1>{{ message }}</h1> | 
					
						
							|  |  |  |         <span class="pnk"><child></child></span> | 
					
						
							| 
									
										
										
										
											2015-06-03 12:54:59 -07:00
										 |  |  |     ''', directives: const [<span class="pnk">ChildComponent]</span>) | 
					
						
							| 
									
										
										
										
											2015-05-19 09:21:11 -07:00
										 |  |  |     class ParentComponent { | 
					
						
							|  |  |  |       String message = "I'm the parent"; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2015-04-22 00:29:55 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   p You then just need to write the <code>ChildComponent</code> class to make it work: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-19 09:21:11 -07:00
										 |  |  |   code-example(language="dart" format="linenums"). | 
					
						
							| 
									
										
										
										
											2015-06-03 12:54:59 -07:00
										 |  |  |     library parent_child.child; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     import 'package:angular2/angular2.dart'; | 
					
						
							| 
									
										
										
										
											2015-04-22 00:29:55 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-03 12:54:59 -07:00
										 |  |  |     @Component(selector: 'child') | 
					
						
							|  |  |  |     @View(template: ''' | 
					
						
							| 
									
										
										
										
											2015-05-19 09:21:11 -07:00
										 |  |  |         <p> {{ message }} </p> | 
					
						
							| 
									
										
										
										
											2015-06-03 12:54:59 -07:00
										 |  |  |     ''') | 
					
						
							| 
									
										
										
										
											2015-05-19 09:21:11 -07:00
										 |  |  |     class ChildComponent { | 
					
						
							|  |  |  |       String message = "I'm the child"; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2015-04-22 00:29:55 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-03 12:54:59 -07:00
										 |  |  | //- [TODO: Motivate communication between components with iterator example that passes index to the child] |