angular – 订阅不是函数错误
发布时间:2020-12-17 09:03:51 所属栏目:安全 来源:网络整理
导读:我试图从服务订阅一个observable,它构建没有错误,但我在浏览器中查看时得到错误“this.service.getBanners(…).subscribe不是一个函数”. 服务: import { Injectable } from '@angular/core';import { Observable } from 'rxjs';@Injectable()export class
我试图从服务订阅一个observable,它构建没有错误,但我在浏览器中查看时得到错误“this.service.getBanners(…).subscribe不是一个函数”.
服务: import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; @Injectable() export class BannerService { banners: any = ['1','2','3']; constructor( ) {} getBanners(): Observable<any[]> { return this.banners; } setBanners(banners: any[]): void { this.banners = banners; } } 零件: import { Component,ViewEncapsulation,OnInit } from '@angular/core'; import { Observable } from 'rxjs'; import { BannerService } from './../banner/banner.service'; @Component({ selector: '.banner',templateUrl: './banner.component.html',styleUrls: ['./banner.component.sass'],encapsulation: ViewEncapsulation.None }) export class BannerComponent implements OnInit { banners: any[]; constructor(private bannerService: BannerService){ } ngOnInit() { this.bannerService.getBanners().subscribe(banners => this.banners = banners); } } 我有什么想法我做错了吗?
你应该返回一个observable,而不是你返回一个数组, getBanners(): Observable<any[]> { return Observable.of(this.banners); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |