我试图订阅一个来自服务的可观察对象,它构建时没有错误,但我得到了错误“this.service.getBanners(…)。在浏览器中查看时,“订阅”不是功能。
服务:
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);
}
}
你知道我做错了什么吗?
有几件事要解决。
>
返回可见。从(这条横幅)
您还需要添加以下内容:
import 'rxjs/add/observable/from';
这是一种糟糕的做法,会将整个rxjs库包含在代码中:
从rxjs导入{可观察};
只导入您需要的内容。以上内容替换为
import { Observable } from 'rxjs/Observable';
您应该返回一个可观察的,而不是返回一个数组:
角的
getBanners(): Observable<any[]> {
return Observable.of(this.banners);
}
角的
getBanners(): Observable<any[]> {
return of(this.banners);
}
参考文献
我正在使用一个服务从url中检索数据,我正在另一个组件中使用该服务在前端中显示数据。。。 我的服务: 使用该服务的我的组件: 但我在控制台中得到以下错误: core.js:1633错误类型Error: req.url.toLowerCase不是HttpXsrfInterceptor.push中的函数../node _ modules/@ angular/common/Fe sm5/http . j
物联网有很多设备,通过订阅设备的topic可以监听物联网设备接收到的消息。 请求方式: "|4|1|2|topic|\r" 参数: topic 设置订阅的topic,获取设备topic可参考教程 返回值: "|4|1|2|1|\r" 订阅成功 "|4|1|2|2|1|\r" topic订阅达到上限(一个OBLOQ最多订阅5个topic),订阅失败 "|4|1|2|2|2|\r" topic订阅失败
问题内容: 我正在尝试使用jQuery和Ajax,并且使用了这种方法。但是我收到错误$ .toJSON不是firebug中的函数。问题出在哪里?我使用jquery 1.3.2。谢谢 问题答案: 没错 没有功能:http : //api.jquery.com/jQuery.toJSON。也许您想使用它。
问题内容: 我试图编写登录到网站的节点功能,但无法使其正常工作。我试图等待页面使用加载功能 这是我到目前为止的内容: 当我运行该函数时,我收到错误消息。这是怎么回事,我想念什么? 问题答案: 为了与其他硒语言绑定的一致性, 并已被弃用。 如果您使用,则应尝试使用代替来确定元素是否存在,如下所示: 或者,如果您要等到欲望元素出现,则应尝试使用以下方法:
我试图使用rxjs输入自动完成的目的,但我一直得到这些错误TypeError:terms.debounce时间不是一个函数,即使我设置这些导入'rxjs/操作员/DebounceTime'; 我称之为的函数是:
在Angular2中尝试一个代码,它的HTML正在运行,但Angular代码没有执行,它表示我从HTML传递的值不是函数。请帮忙! HTML:app.html - 我正在尝试显示学生的详细信息。我在angular app.component.ts文件中有一个项目列表,我在HTML页面上调用它,工作正常。但是当我将单击事件的值传递给 app.component.ts 时,它会给出错误并在控制台上显示