forked from PatrickJS/PatrickJS-starter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.ts
72 lines (66 loc) · 2.27 KB
/
app.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*
* Angular 2 decorators and services
*/
import {Component} from 'angular2/core';
import {RouteConfig, Router, ROUTER_DIRECTIVES} from 'angular2/router';
import {Http} from 'angular2/http';
import {FORM_PROVIDERS} from 'angular2/common';
import {Title} from './providers/title';
import {XLarge} from './directives/x-large';
import {Home} from './home/home';
/*
* App Component
* Top Level Component
*/
@Component({
// The selector is what angular internally uses
// for `document.querySelectorAll(selector)` in our index.html
// where, in this case, selector is the string 'app'
selector: 'app', // <app></app>
// We need to tell Angular's Dependency Injection which providers are in our app.
providers: [ FORM_PROVIDERS, Title],
// We need to tell Angular's compiler which directives are in our template.
// Doing so will allow Angular to attach our behavior to an element
directives: [ ROUTER_DIRECTIVES, XLarge ],
// We need to tell Angular's compiler which custom pipes are in our template.
pipes: [],
// Our list of styles in our component. We may add more to compose many styles together
styles: [`
.title {
font-family: Arial, Helvetica, sans-serif;
}
main {
padding: 1em;
}
`],
// Every Angular template is first compiled by the browser before Angular runs it's compiler
template: `
<header>
<h1 class="title">Hello {{ title.value }}</h1>
<nav>
<a [routerLink]=" ['Home'] ">Home</a>
</nav>
</header>
<main>
<router-outlet></router-outlet>
</main>
<footer x-large>
WebPack Angular 2 Starter by <a [href]="url">@AngularClass</a>
</footer>
`
})
@RouteConfig([
{ path: '/', component: Home, name: 'Home' }
])
export class App {
url: string = 'https://twitter.com/AngularClass';
constructor(public title: Title) {}
}
/*
* Please review the https://github.com/AngularClass/angular2-examples/ repo for
* more angular app examples that you may copy/paste
* (The examples may not be updated as quickly. Please open an issue on github for us to update it)
* For help or questions please contact us at @AngularClass on twitter
* or our chat on Slack at https://AngularClass.com/slack-join
* or via chat on Gitter at https://gitter.im/AngularClass/angular2-webpack-starter
*/