angular 不同组件间通过service传递数据

//global.service.ts

import { Injectable } from "@angular/core"
import { Subject } from "rxjs"
interface globalModalModel {
  tipMsg?: string
  show?: boolean
  duration?: number
}
@Injectable({
  providedIn: "root"
})
export class GlobalService {
  constructor() {}
  private globalModal = new Subject<any>()
  globalModal$ = this.globalModal.asObservable()
  updateGlobalModal(data: globalModalModel) {
    this.globalModal.next(data)
  }

  public sysTime
  public globalTime = new Subject<any>()
  globalTime$ = this.globalTime.asObservable()
  updateGlobalTime(data: any) {
    this.globalTime.next(data)
    this.sysTime = data
  }
}

监听数据变化:

 this.subscription_globalModal = this.GlobalService.globalModal$.subscribe(
      (data) => {
        this.tipMsg = data.tipMsg || ""
        this.globalMaskShow = data.show
        setTimeout(() => {
          this.globalMaskShow = false
        }, data.duration || 3000)
      }
    )

更新数据:

 this.GlobalService.updateGlobalModal({
            show: true,
            duration: 1000000,
            tipMsg: "服务器连接中断, 正在尝试重新连接....."
          })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Angular 中使用 GET 请求传递数据给后端可以通过以下步骤实现: 1. 引入 HttpClientModule 模块 在 app.module.ts 文件中引入 HttpClientModule 模块: ``` import { HttpClientModule } from '@angular/common/http'; @NgModule({ imports: [ HttpClientModule ] }) export class AppModule { } ``` 2. 创建服务 在创建的服务中定义一个方法,用于发送 GET 请求。例如: ``` import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; @Injectable({ providedIn: 'root' }) export class DataService { constructor(private http: HttpClient) { } getData(data: any) { return this.http.get('http://localhost:8080/api/data', { params: data }); } } ``` 3. 在组件中使用服务 在需要使用 GET 请求的组件中引入并注入服务,然后调用服务中定义的方法: ``` import { Component } from '@angular/core'; import { DataService } from './data.service'; @Component({ selector: 'app-root', template: ` <button (click)="getData()">Get Data</button> ` }) export class AppComponent { constructor(private dataService: DataService) { } getData() { const data = { name: 'John', age: '30' }; this.dataService.getData(data).subscribe((response) => { console.log(response); }); } } ``` 在上面的例子中,`getData()` 方法调用了 `dataService` 中定义的 `getData()` 方法,并传递了一个包含数据的对象作为参数。在服务中,`params` 属性用于将数据作为查询参数传递给后端。在组件中,通过订阅服务方法返回的 Observable 来获取从后端返回的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值