我发现这个伟大的帖子创建和返回观察角2服务,现在我尝试做同样的事情,但得到这个错误:
core.umd.js:2838异常:无法读取未定义的属性'Next'
这是我的服务:
@Injectable()
export class ReadBuchungenService {
public activeProject : ReplaySubject<any>;
private get_all_buchungen_url : string = "xxxxxxx/xxx/";
constructor (private http : Http) {}
public load(timestamp : number) {
let params = new URLSearchParams();
params.set('timestamp', String(timestamp));
this.http.get(this.get_all_buchungen_url, { search: params })
.subscribe(res => this.activeProject.next(res));
return this.activeProject;
}
}
在es6中编译,下面是package.json中的依赖项:
"dependencies": {
"@angular/common": "^2.2.4",
"@angular/compiler": "^2.1.2",
"@angular/core": "^2.2.4",
"@angular/http": "^2.1.4",
"@angular/platform-browser": "^2.1.2",
"@angular/platform-browser-dynamic": "^2.1.2",
"@angular/router": "^3.1.4",
"core-js": "^2.4.1",
"reflect-metadata": "^0.1.8",
"rxjs": "5.0.0-beta.12",
"systemjs": "^0.19.40",
"zone.js": "^0.6.26"
}
谢谢
好的,现在我尝试设置重放主题对象的宽度:
public activeProject : ReplaySubject<any> = new ReplaySubject(1);
但是我得到了一个意想不到的标记
完整错误的图像:
您没有初始化activeProject
。尝试:
public activeProject : ReplaySubject<any> = new ReplaySubject<any>(1);
现在我发现了错误,它是来自ReplaySubject类的import语句。
错误:import{Observable,ReplaySubject}来自“rxjs”
右:
从'rxjs/ReplaySubject'导入{ReplaySubject}
以下是服务的完整代码:
import {Inject, Injectable} from '@angular/core';
import { Http, URLSearchParams } from '@angular/http';
import 'rxjs/Rx';
import { ReplaySubject } from 'rxjs/ReplaySubject';
@Injectable()
export class MyService {
public activeProject: ReplaySubject<any> = new ReplaySubject(1);
private get_all_buchungen_url: string = "xxxx/xxx";
constructor(private http: Http) {
}
public load(timestamp: number) {
let params = new URLSearchParams();
params.set('timestamp', String(timestamp));
this.http.get(this.get_all_buchungen_url, {search: params})
.subscribe(res => this.activeProject.next(res));
console.log(this.activeProject)
return this.activeProject;
}
}
您的activeProject未设置。试着这样定义它:
public activeProject:ReplaySubject<any> = new ReplaySubject(1);
学习角得到服务和组件和可观察性。 我正在尝试在我的演示应用程序中实现暗模式。该控件由一个服务完成,该服务根据浏览器默认值(如果找到)设置暗主题。 它在应用程序组件中初始化,以便以后在应用程序中放置控制开关。 暗模式从布尔值开始工作,因此为true或false。据我所知,使用一个可观察对象是不够的,因为我希望多个订阅者都以两种方式绑定到订阅,每种方式在服务中切换这些可观察对象。到目前为止,我很肯定这
我在使用角度异步管道时遇到了一个问题。基于从后端接收的内容,使用ngFor的模板中显示的内容的顺序不同。 代码如下: 我已经创建了一个组件称为头组件,它收到一个可观察的头$作为输入参数。 在导入标头组件的父组件内部
我对可观察量很陌生。如何仅从一个简单的字符串创建可观察的?然后订阅它并在它发生变化时输出它。 这有意义吗? 我在谷歌搜索上一点运气都没有。可能是错误的关键字? 添加一些代码以更好地解释: 我想我在这里做错了什么?但不知道怎么问。我将不胜感激的任何解释。
问题内容: 我一直在阅读Observer模式,以保持UI处于最新状态,但仍然看不到它的用途。即使在我的特定对象中通知了我的MainActivity然后运行update();方法我仍然无法使用Pet对象来获取更新值,因为该对象是在Oncreate中创建的…而我只是无法创建新对象,因为那时变量会有所不同..这是我的实施,它似乎不起作用。 观察者/ MainActivity 可观察/宠物 问题答案: 首
我来自同步编程背景,我很难理解可观察性。 这是我的服务/提供商的摘录(离子2项目) 我将从订阅它。关于这一点,我有几个问题。 > 即使我没有声明,上面的代码是否返回一个可观察/观察者? 响应是JSON。如何检查/处理JSON并执行一些操作,如 那就做吧 我认为应该在提供者类中完成。只是一个典型的提示/例子将是真棒。 当请求到达subscribe方法时,它是否真的发生了? 创建和返回Angular