Angularの公式チュートリアルをやっていく その3 - Create home component
Angularの公式チュートリアル「はじめての Angularアプリ」を進めていきます。
一覧
Angularの公式チュートリアルをやっていく その1 - Introduction
Angularの公式チュートリアルをやっていく その2 - Hello world
Angularの公式チュートリアルをやっていく その3 - Create home component
Angularの公式チュートリアルをやっていく その4 - Create housing location component
Angularの公式チュートリアルをやっていく その5 - Create an interface
Angularの公式チュートリアルをやっていく その6 - Add inputs to components
Angularの公式チュートリアルをやっていく その7 - Add property binding to components
Angularの公式チュートリアルをやっていく その8 - Add dynamic values to templates
Angularの公式チュートリアルをやっていく その9 - Use *ngFor in templates
Angularの公式チュートリアルをやっていく その10 - Angular services
Angularの公式チュートリアルをやっていく その11 - Add routing
Angularの公式チュートリアルをやっていく その12 - Customize the details page
Angularの公式チュートリアルをやっていく その13 - Integrate Angular forms
Angularの公式チュートリアルをやっていく その14 - Add search functionality
Angularの公式チュートリアルをやっていく その15 - Add HTTP communication
今回やるのは、↓の部分です。
HomeComponent の作成
まずは、HomeComponentを作成するためのコマンドを実行しましょう。
実行場所はfirst-appフォルダです。
ng generate component Home --standalone --inline-template --skip-tests
実行結果
CREATE src/app/home/home.component.ts (303 bytes)
CREATE src/app/home/home.component.css (0 bytes)
正常に実行されてhomeフォルダーとその直下にコンポーネントファイルが生成されました。
アプリケーションを一度ビルドして、生成されたコンポーネントが正常に機能するか確かめます。
ng serve
問題なくブラウザが表示されたので、生成されたコンポーネントは正常に機能しているようです。
ここで上手くビルドできずエラーとなってしまったら、HomeComponentの生成が上手くいっていない可能性がありますので、一度生成されたファイルを消して再度生成するか、エラー文を読んで対処しましょう。
HomeComponentをルートに追加
生成したHomeComponentをルートに追加します。
下記のようにapp.component.ts
を更新します。
import { Component } from '@angular/core';
+ import { HomeComponent } from './home/home.component';
@Component({
selector: 'app-root',
standalone: true,
- imports: [],
+ imports: [HomeComponent],
- template: `<h1>Hello world!</h1>`,
+ template: `
+ <main>
+ <header class="brand-name">
+ <img class="brand-logo" src="/assets/logo.svg" alt="logo" aria-hidden="true">
+ </header>
+ <section class="content">
+ <app-home></app-home>
+ </section>
+ </main>
+ `,
styleUrls: ['./app.component.css'],
})
export class AppComponent {
title = 'homes';
}
変更を保存すると、アプリケーション自動で再ビルドされ http://localhost:4200/ の表示が変化します。
変化しなかったり、エラーが起きて上手くいかない場合は、次のことが考えられます。
- 変更したファイルを保存していない
- 変更したコードが間違っている
- 変更箇所以外のコードも間違って削除してしまった
何か間違いがないか、今一度確認してみましょう。
HomeComponent に機能を追加
HomeComponentに検索ボックスを追加します。
ここではまだデザインだけで、検索機能はまだ実装しないようです。
下記のようにhome.component.ts
とhome.component.css
のコードを更新します。
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
@Component({
selector: 'app-home',
standalone: true,
imports: [CommonModule],
template: `
- <p>
- home works!
- </p>
+ <section>
+ <form>
+ <input type="text" placeholder="Filter by city">
+ <button class="primary" type="button">Search</button>
+ </form>
+ </section>
`,
styleUrls: ['./home.component.css']
})
export class HomeComponent {
}
+ .results {
+ display: grid;
+ column-gap: 14px;
+ row-gap: 14px;
+ grid-template-columns: repeat(auto-fill, minmax(400px, 400px));
+ margin-top: 50px;
+ justify-content: space-around;
+ }
+
+ input[type="text"] {
+ border: solid 1px var(--primary-color);
+ padding: 10px;
+ border-radius: 8px;
+ margin-right: 4px;
+ display: inline-block;
+ width: 30%;
+ }
+
+ button {
+ padding: 10px;
+ border: solid 1px var(--primary-color);
+ background: var(--primary-color);
+ color: white;
+ border-radius: 8px;
+ }
+
+ @media (min-width: 500px) and (max-width: 768px) {
+ .results {
+ grid-template-columns: repeat(2, 1fr);
+ }
+ input[type="text"] {
+ width: 70%;
+ }
+ }
+
+ @media (max-width: 499px) {
+ .results {
+ grid-template-columns: 1fr;
+ }
+ }
変更を保存すると、アプリケーション自動で再ビルドされhttp://localhost:4200/ の表示が変化します。
変化しなかったり、エラーが起きて上手くいかない場合は、次のことが考えられます。
- 変更したファイルを保存していない
- 変更したコードが間違っている
- 変更箇所以外のコードも間違って削除してしまった
何か間違いがないか、今一度確認してみましょう。
これにてCreate home componentは完了です。
← 前へ Angularの公式チュートリアルをやっていく その2 - Hello world
→ 次へ Angularの公式チュートリアルをやっていく その4 - Create housing location component
Discussion