このチュートリアルの大きなプランは、人材派遣会社のヒーローたちの管理を手伝うアプリを作ることである。ヒーローたちは仕事を探している。
このチュートリアルでの進歩は、少しだけかもしれない。しかし、full-blown, data-driven アプリの多くの機能を発見できる: ヒーローのリストの取得と表示 、ヒーローの選択と詳細の編集、ヒーローの表示 ナビゲーションなど
このページは、The Tour of Heroesでどんなものを作るかの説明で特に訳すことはない。
ライブ環境はここ
title プロバティ(アプリケーションの名前) とa hero プロパティ( ヒーローの名前 "Windstorm")export class AppComponent {
title = 'Tour of Heroes';
hero = 'Windstorm';
}
Hero classを作る。export class Hero {
id: number;
name: string;
}
hero: Hero = {
id: 1,
name: 'Windstorm'
};
template: '<h1>{{title}}</h1><h2>{{hero.name}} details!</h2>'
template:`<h1>{{title}}</h1>
<h2>{{hero.name}} details!</h2><div><label>id: </label>{{hero.id}}</div>
<div><label>name: </label>{{hero.name}}</div>`
<label> と <input>に変える。下記のようになる
template:`<h1>{{title}}</h1><h2>{{hero.name}} details!</h2><div><label>id: </label>{{hero.id}}</div><div><label>name: </label><input value="{{hero.name}}" placeholder="name"></div>`
FormsModule パッケージをアンギュラー モジュールへインポートする。NgModule のデコレーターの(decorator's) imports配列に追加する。This この配列は、アプリで使用する外部モジュールsのリストを持つ。 これでngModelを持つformsパッケージの準備ができた。
import { NgModule } from '@angular/core';import { BrowserModule } from '@angular/platform-browser';import { FormsModule } from '@angular/forms';import { AppComponent } from './app.component';@NgModule({imports: [BrowserModule,FormsModule],declarations: [AppComponent],bootstrap: [ AppComponent ]})export class AppModule { }
ngModel 組み込み命令を用い テンプレートの修正をおこなう。
<input>を書を下記のHTMLで置き換える。<input [(ngModel)]="hero.name" placeholder="name">
<h2> のヒーロー名が変わるのが確認できる。/appFocusフォルダー内の三つのタイプスクリプト(.ts) ファイルに注目する| File | Purpose |
|---|---|
app.component.ts |
the QuickStart playgroundにあるのと同じAppComponentの定義。 rootcomponent 拡張されるすべてのアプリの木構造の根元になる。
|
app.module.ts |
ルートモジュールとなる
AppModuleの定義。Angularにアプリケーションの組み立て方を指示する。インストール直後は、 the AppComponentだけを宣言している。そのうちにに多くの components を宣言するだろう。 |
main.ts |
main.tsは、JiT(Just in Time) compiler でアプリをコンパイルし、プラウザで動作するようにアプリをbootstraps する. ほとんどのプロジェクトでmain.tsが適切な選択であり、Plunkerのようなライブコーディング 環境では、これしか選べない。別のコンパイルとデプロイ方法は、後ほど、このドギュメントで 紹介する。
|
v4.x.x かそれ以上 npm は、3.x.x かそれ以上app.module.ts と main.tsは、同じようなものが内部的に作られている。ほかのサンプルもthe QuickStartに基づいている。import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: `<h1>Hello {{name}}</h1>`
})
export class AppComponent { name = 'Angular'; }
<my-app>Loading AppComponent content here ...</my-app>
Angular'から'World'に変更してみろ。何が起こるか見てみろ