51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
.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 <code><parent></code> tag in the body,
 | 
						|
    you can create a parent
 | 
						|
    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>
 | 
						|
          <span class="pnk"><child></child></span>
 | 
						|
      ''',
 | 
						|
        directives: const[<span class="pnk">ChildComponent</span>]
 | 
						|
      )
 | 
						|
      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";
 | 
						|
      }
 | 
						|
 | 
						|
  //p.
 | 
						|
    [TODO: Motivate communication between components with iterator example that passes index to the child]
 |