2015-04-21 23:48:47 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.callout.is-helpful
							 
						 
					
						
							
								
									
										
										
										
											2015-04-28 12:33:29 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  header Angular is in developer preview
							 
						 
					
						
							
								
									
										
										
										
											2015-04-21 23:48:47 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
									
										
										
										
											2015-05-07 18:24:40 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    This quickstart does not reflect the final development process for writing apps with Angular.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    The following setup is for those who want to try out Angular while it is in developer preview.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-03 13:50:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// STEP 1 - Create a project ##########################
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								.l-main-section
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  h2#section-create-project 1. Create a project
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 05:27:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
									
										
										
										
											2015-04-23 15:16:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    This quickstart shows how to write your Angular components in TypeScript. You could instead choose
							 
						 
					
						
							
								
									
										
										
										
											2015-04-28 12:33:29 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    another language such as <a href="/docs/dart/latest/quickstart.html">Dart</a>, ES5, or ES6.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-03 13:50:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-04-23 15:16:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    The goal of this quickstart is to write a component in TypeScript that prints a string.
							 
						 
					
						
							
								
									
										
										
										
											2015-05-07 18:24:40 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    We assume you have already installed <a href="https://docs.npmjs.com/getting-started/installing-node">Node and npm</a>.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 05:27:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-07 18:24:40 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    To get started, create a new empty project directory. All the following commands should be run
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    from this directory.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
									
										
										
										
											2015-05-07 18:24:40 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    To get the benefits of TypeScript, we want to have the type definitions available for the compiler and the editor.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    TypeScript type definitions are typically published in a repo called <a href="http://definitelytyped.org/">DefinitelyTyped</a>.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    To fetch one of the type definitions to the local directory, we use the <a href="https://www.npmjs.com/package/tsd">tsd package manager</a>.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  code-example.
							 
						 
					
						
							
								
									
										
										
										
											2015-06-25 11:28:07 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $ npm install -g tsd@^0.6.0
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $ tsd install angular2 es6-promise rx rx-lite
							 
						 
					
						
							
								
									
										
										
										
											2015-05-07 18:24:40 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-01 08:58:22 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
									
										
										
										
											2015-05-07 18:24:40 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    Next, create two empty files, <code>index.html</code> and <code>app.ts</code>, both at the root of the project:
							 
						 
					
						
							
								
									
										
										
										
											2015-05-01 08:58:22 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  code-example.
							 
						 
					
						
							
								
									
										
										
										
											2015-05-07 18:24:40 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $ touch app.ts index.html
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 05:27:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-04-23 15:16:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// STEP 2 - Start the TypeScript compiler ##########################
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								.l-main-section
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  h2#start-tsc 2. Run the TypeScript compiler
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 05:27:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-04-23 15:16:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Since the browser doesn't understand TypeScript code, we need to run a compiler to translate
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    your code to browser-compliant JavaScript as you work. This quickstart uses the TypeScript
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    compiler in <code>--watch</code> mode, but it is also possible to do the translation in the browser as files
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    are loaded, or configure your editor or IDE to do it.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 05:27:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  code-example.
							 
						 
					
						
							
								
									
										
										
										
											2015-08-12 13:59:54 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $ npm install -g typescript@^1.5.0
							 
						 
					
						
							
								
									
										
										
										
											2015-05-07 18:24:40 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $ tsc --watch -m commonjs -t es5 --emitDecoratorMetadata app.ts
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-20 11:41:28 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.callout.is-helpful
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Windows users: if you get an error that an option is unknown, you are probably running
							 
						 
					
						
							
								
									
										
										
										
											2015-08-12 13:59:54 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    an older version of TypeScript.
							 
						 
					
						
							
								
									
										
										
										
											2015-07-20 11:41:28 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    See <a href="http://stackoverflow.com/questions/23267858/how-do-i-install-typescript">
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Stack Overflow: How do I install Typescript</a>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 22:09:03 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// STEP 3 - Import Angular ##########################
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.l-main-section
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 22:09:03 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  h2#section-transpile 3. Import Angular
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-04-23 15:16:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p Inside of <code>app.ts</code>, import the type definitions from Angular:
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  code-example.
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 21:58:27 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <reference path="typings/angular2/angular2.d.ts" />
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-04-23 15:16:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p Now your editor should be able to complete the available imports:
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  code-example.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    import {Component, View, bootstrap} from 'angular2/angular2';
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 16:21:24 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
									
										
										
										
											2015-04-23 15:16:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    The above import statement uses ES6 module syntax to import three symbols from the Angular module.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    The module will load at runtime.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 22:09:03 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// STEP 4 - Create a component ##########################
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.l-main-section
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 22:09:03 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  h2#section-angular-create-account 4. Define a component
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 16:21:24 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    Components structure and represent the UI. This quickstart demonstrates the process of creating a component
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    that has an HTML tag named <strong><code><my-app></code></strong>.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-03 13:50:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
									
										
										
										
											2015-04-23 15:16:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    A component consists of two parts, the <strong>component controller</strong>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    which is an ES6 class, and the <strong>decorators</strong> which tell Angular
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    how to place the component into the page.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  code-example(language="javascript" format="linenums").
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Annotation section
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    @Component({
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      selector: 'my-app'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    })
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    @View({
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      template: '<h1>Hello {{ name }}</h1>'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    })
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Component controller
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    class MyAppComponent {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      name: string;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      constructor() {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        this.name = 'Alice';
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      }
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  .l-sub-section
							 
						 
					
						
							
								
									
										
										
										
											2015-04-21 16:49:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    h3 @Component and @View annotations
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    p.
							 
						 
					
						
							
								
									
										
										
										
											2015-04-21 16:49:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      A component annotation describes details about the component. An annotation can be identified by its at-sign (<code>@</code>).
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    p.
							 
						 
					
						
							
								
									
										
										
										
											2015-04-21 16:49:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      The <code>@Component</code> annotation defines the HTML tag for the component by specifying the component's CSS selector.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    p.
							 
						 
					
						
							
								
									
										
										
										
											2015-04-21 16:49:24 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      The <code>@View</code> annotation defines the HTML that represents the component. The component you wrote uses an inline template, but you can also have an external template. To use an external template, specify a <code>templateUrl</code> property and give it the path to the HTML file.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    code-example(language="javascript" format="linenums").
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      @Component({
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        selector: 'my-app' // Defines the <my-app></my-app> tag
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      })
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      @View({
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        template: '<h1>Hello {{ name }}</h1>' // Defines the inline template for the component
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      })
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    p.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 16:21:24 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      The annotations above specify an HTML tag of <code><my-app></code>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      and a template of <code ng-non-bindable><h1>Hello {{ name }}</h1></code>.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  .l-sub-section
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 16:21:24 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    h3 The template and the component controller
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    p.
							 
						 
					
						
							
								
									
										
										
										
											2015-04-23 15:16:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      The component controller is the backing of the component's template. This component
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      controller uses TypeScript <code>class</code> syntax.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    code-example(language="javascript" format="linenums").
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      class MyAppComponent {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        name: string;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        constructor() {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          this.name = 'Alice';
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        }
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      }
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    p.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      Templates read from their component controllers. Templates have access to any properties
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      or functions placed on the component controller.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    p.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 16:21:24 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      The template above binds to a <code>name</code> property through
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      the double-mustache syntax (<code ng-non-bindable>{{ ... }}</code>).
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      The body of the constructor assigns "Alice" to the name property. When the
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      template renders, "Hello Alice" appears instead of
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      <span ng-non-bindable>"Hello {{ name }}"</span>.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 22:09:03 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// STEP 5 - Bootstrap ##########################
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.l-main-section
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 22:09:03 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  h2#section-transpile 5. Bootstrap
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 16:21:24 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
									
										
										
										
											2015-04-23 15:16:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    At the bottom of <code>app.ts</code>, call the <code>bootstrap()</code> function
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 16:21:24 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    to load your new component into its page:
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 05:27:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  code-example(language="javaScript").
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    bootstrap(MyAppComponent);
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 05:27:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-03 13:50:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 16:21:24 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    The <code>bootstrap()</code> function takes a
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    component as a parameter, enabling the component
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    (as well as any child components it contains) to render.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 22:09:03 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// STEP 6 - Declare the HTML ##########################
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.l-main-section
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 22:09:03 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  h2#section-angular-create-account 6. Declare the HTML
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
									
										
										
										
											2015-04-23 15:16:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    Inside the <code>head</code> tag of <code>index.html</code>,
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    include the traceur-runtime and the Angular bundle.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Instantiate the <code>my-app</code> component in the <code>body</code>.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  code-example(language="html" format="linenums").
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    <!-- index.html -->
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    <html>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      <head>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        <title>Angular 2 Quickstart</title>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        <script src="https://github.jspm.io/jmcriffey/bower-traceur-runtime@0.0.87/traceur-runtime.js"></script>
							 
						 
					
						
							
								
									
										
										
										
											2015-06-25 11:28:07 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        <script src="https://code.angularjs.org/2.0.0-alpha.28/angular2.dev.js"></script>
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      </head>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      <body>
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 19:16:09 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        <!-- The app component created in app.ts -->
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        <my-app></my-app>
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 19:16:09 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      </body>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    </html>
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 22:09:03 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// STEP 7 - Declare the HTML ##########################
							 
						 
					
						
							
								
									
										
										
										
											2015-03-03 13:50:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.l-main-section
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 22:09:03 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  h2#section-load-component-module 7. Load the component
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 05:27:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-03 13:50:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 16:21:24 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    The last step is to load the module for the <code>my-app</code> component.
							 
						 
					
						
							
								
									
										
										
										
											2015-04-23 15:16:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    To do this, we'll use the System library.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 05:27:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-03 13:50:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  .l-sub-section
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    h3 System.js
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 05:27:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    p.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-05 00:19:33 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      <a href="https://github.com/systemjs/systemjs">System</a> is a third-party open-source library that
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 16:21:24 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      adds ES6 module loading functionality to browsers.
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 05:27:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-03 13:50:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
									
										
										
										
											2015-04-30 11:59:54 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    Add the System.js dependency in the <code><head></code> tag, so that
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    it looks like:
							 
						 
					
						
							
								
									
										
										
										
											2015-03-03 13:50:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  code-example(language="html" format="linenums").
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    <head>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      <title>Angular 2 Quickstart</title>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      <script src="https://github.jspm.io/jmcriffey/bower-traceur-runtime@0.0.87/traceur-runtime.js"></script>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      <script src="https://jspm.io/system@0.16.js"></script>
							 
						 
					
						
							
								
									
										
										
										
											2015-06-27 18:36:12 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      <script src="https://code.angularjs.org/2.0.0-alpha.28/angular2.dev.js"></script>
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    </head>
							 
						 
					
						
							
								
									
										
										
										
											2015-03-03 13:50:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 16:21:24 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
									
										
										
										
											2015-05-07 18:24:40 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    Add the following module-loading code:
							 
						 
					
						
							
								
									
										
										
										
											2015-04-23 15:16:45 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  code-example(language="html" format="linenums").
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    <my-app></my-app>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    <script>System.import('app');</script>
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 05:27:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-03 13:50:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 22:09:03 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// STEP 8 - Run a local server ##########################
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 16:21:24 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.l-main-section
							 
						 
					
						
							
								
									
										
										
										
											2015-03-03 13:50:44 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 22:09:03 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  h2#section-load-component-module 8. Run a local server
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 22:48:32 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  p Run a local HTTP server, and view <code>index.html</code>.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  p.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    If you don't already have an HTTP server,
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    you can install one using <code>npm install -g http-server</code>.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    (If that results in an access error, then you might need to use
							 
						 
					
						
							
								
									
										
										
										
											2015-08-27 16:03:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    <code><b>sudo</b> npm ...</code>.)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  p For example:
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 22:48:32 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-19 08:48:26 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  code-example.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # From the directory that contains index.html:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    npm install -g http-server  # Or sudo npm install -g http-server
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    http-server                 # Creates a server at localhost:8080
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # In a browser, visit localhost:8080/index.html
							 
						 
					
						
							
								
									
										
										
										
											2015-03-04 22:48:32 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-03-02 06:01:47 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// WHAT'S NEXT... ##########################
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								.l-main-section
							 
						 
					
						
							
								
									
										
										
										
											2015-03-11 17:56:08 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  h2#section-transpile Great job! We'll have the next steps out soon.