一 : 新建服務css
ng g service XXXX
html
二 : 註冊服務app
這裏和組件(component)不同須要手動註冊( 在app.module.ts中 )ide
三 : 使用服務函數
① , 服務類 , 本身隨便寫點東西
this
import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) export class NewsService { constructor() {} public setLocal<DATA>( $key : string , $data : DATA ) : void{ localStorage.setItem( $key , typeof($data) === "string" ? $data : JSON.stringify($data) ); } public getLocal<DATA>( $key : string ) : DATA{ let $data : string = localStorage.getItem( $key ); return JSON.parse( $data ) as DATA; } }
② , 在組件中調用服務
spa
import { Component, OnInit } from '@angular/core'; import { UserVo } from 'src/app/demo/UserVo'; import {EventMessage} from "../../lib/EventMessage"; import {NewsService} from '../../services/news.service'; @Component({ selector: 'app-news', templateUrl: './news.component.html', styleUrls: ['./news.component.css'] }) export class NewsComponent implements OnInit { ngOnInit() { } public constructor( public _newService : NewsService ){ let $arr : Array<string> = [ "Array", "[]" ]; this._newService.setLocal<Array<string>>( "user" , $arr ); let $a : Array<string> = this._newService.getLocal<Array<string>>( "user" ); //console.log( $a ); } }
注意 , 在構造函數中Angular引發會自動注入服務...
component
三 : 結果htm