生成一个服务

  1. ng g service services/common

一、在app.module.ts中配置

  1. import {CommonService} from './services/common.service'
  2. ...
  3. providers: [CommonService],

二、在其他组件内使用

0.在serve里创建

  1. import { Injectable } from '@angular/core';
  2. @Injectable({
  3. providedIn: 'root'
  4. })
  5. export class CommonService {
  6. public defaultCity:string="武汉"
  7. constructor() { }
  8. }

1.引入

home.ts

  1. import {CommonService} from '../../services/common.service'

2.构造

home.ts

  1. constructor(public common:CommonService) { }

3.使用

  1. ngOnInit() {
  2. console.log(this.common.defaultCity)
  3. }

4.在页面内使用

方法1——直接使用

  1. <p>{{common.defaultCity}}</p>

方法2——间接使用

  1. public city:string=""
  2. this.city=this.common.defaultCity
  1. <p>{{city}}</p>

三、修改service里的数据

1.在service.ts里创建一个方法

  1. changeCity(value:string){
  2. this.defaultCity=value
  3. }

2.在home.ts里调用方法修改service.ts里的数据

  1. handleBtn(city:string){
  2. this.common.changeCity(city)
  3. }

四、数据更改后刷新会导致还原,加入缓存来完善

  1. //service.ts
  2. changeCity(value:string){
  3. this.defaultCity=value;
  4. localStorage.setItem("city",value)
  5. }
  1. //home.ts
  2. //这里使用第一种调用方法
  3. ngOnInit() {
  4. this.defaultCity=this.common.getCity();
  5. }