トッカンソフトウェア

Angular サービス

今回は処理ロジックをサービスとして外に出してしまいます。

フォームで作成したものをベースにします。
今回はそこから変更分のみ載せますので、足りないソースはフォームを見てください。


サービス作成

Angular CLIでサービスを作成します。
				
ng generate service login

			

ソースファイル

src\app\login.service.ts

サービスにログイン処理を実装します
				
import { Injectable } from '@angular/core';
import { LoginModel } from './loginModel';

@Injectable({
  providedIn: 'root'
})
export class LoginService {

  constructor() { }

  isLogin(model: LoginModel): boolean {
    if (model.loginId == model.password) {
      return true;
    } else {
      return false;
    }
  }
}

			

src\app\app.component.ts

コンポーネントをサービスを呼び出すように変更します。
				
import { Component } from '@angular/core';
import { LoginModel } from './loginModel';
import { LoginService } from './login.service';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  providers: [LoginService]
})
export class AppComponent {
  model = new LoginModel('', '');

  constructor(private loginService: LoginService) { }

  onSubmit() {
    if (this.loginService.isLogin(this.model)) {
      this.model.message = "ログインしました";
      this.model.loginId = "---";
      this.model.password = "---";
    } else {
      this.model.message = "ログインに失敗しました";
    }
  }
}

			

上記変更後、プロジェクトフォルダで以下を実行すると動作確認できます。
				
ng serve --open

			

実行イメージ






ページのトップへ戻る