我对可观察量很陌生。如何仅从一个简单的字符串创建可观察的?然后订阅它并在它发生变化时输出它。
这有意义吗?
我在谷歌搜索上一点运气都没有。可能是错误的关键字?
添加一些代码以更好地解释:
My constructor on service
constructor() {
// Create observable stream to output our data
this.notice = Observable.create(
(observer) => this.observer = observer;
);
};
My method on service
set(string) {
this.notice.subscribe((value) => {
// Push the new value into the observable stream
this.observer.next(string);
}, (error) => console.log('Could not set data.'));
}
Calling service method
setNotice(event) {
event.preventDefault();
// Calling service to set notice
this.noticeService.set('This is a string');
}
我想我在这里做错了什么?但不知道怎么问。我将不胜感激的任何解释。
您可以使用 Observable
类的 of
方法:
var obs = Observable.of('some string');
编辑
关于您服务的代码,我会像这样重构您的set
方法的代码:
set(string) {
this.observer.next(string);
}
您可以在要通知的应用程序的另一部分中订阅通知
属性。
学习角得到服务和组件和可观察性。 我正在尝试在我的演示应用程序中实现暗模式。该控件由一个服务完成,该服务根据浏览器默认值(如果找到)设置暗主题。 它在应用程序组件中初始化,以便以后在应用程序中放置控制开关。 暗模式从布尔值开始工作,因此为true或false。据我所知,使用一个可观察对象是不够的,因为我希望多个订阅者都以两种方式绑定到订阅,每种方式在服务中切换这些可观察对象。到目前为止,我很肯定这
我有一个组件订阅服务中的一个可观察对象。该方法反过来订阅另一个服务中的可观察对象。我想将一个数组从最后一个服务传递回第一个服务,然后第一个服务将该数组传递回组件。更具体地说,该组件调用其本地服务,然后调用一个数据服务,该数据服务通过http客户端访问我的数据库。http客户端正在工作,数据服务将数组返回给本地服务。本地服务接收数组,但我不知道如何将该数组作为可观察对象传递回组件。以下是简短的代码块
我有一个返回用户对象的角度服务。用户对象有自己的属性和一组墙。服务向调用组件返回一个可观察的。在该服务中,我能够从http服务返回的json创建用户对象。但是,当我订阅组件中的服务时,返回的对象为null。我做错了什么?
我有一个可观察的,可观察的是存储在本地存储器中的一组对象(视频)。我有这样的“功能”将新视频推送到阵列中:视频是一个接口 在其他组件中,我将其称为推送新对象(视频),如下所示: 但这行不通,我知道这是我的错。在observable之前,我使用了经典的常量和函数,工作得很好,现在我在observable方面遇到了麻烦。有人告诉我,我需要订阅一个管道,但我找不到任何地方如何做到这一点。对我来说,可见物
我在使用角度异步管道时遇到了一个问题。基于从后端接收的内容,使用ngFor的模板中显示的内容的顺序不同。 代码如下: 我已经创建了一个组件称为头组件,它收到一个可观察的头$作为输入参数。 在导入标头组件的父组件内部
我在angular指令中有这段代码,我发现$watch的行为有点令人困惑。在“ng click”中调用updateSelect: 当我点击按钮(触发更新选择)并观看控制台时,我会看到“更新”,然后是“观看”。函数内部发生的第一件事是选择Ctrl。设置了activeList,所以我希望看到“watch”和“update”。 不应该在阵列更改后立即监视触发器吗?