无法订阅角度可观察者

斯里坎特·雷迪(Srikanth Reddy)

我是rxjs的新手。我已经阅读了angular的文档,并尝试了ts文件中的rxjs基本概念。不幸的是,这使我犯了一个错误。我的代码如下:

import { Component } from '@angular/core';
import { of, pipe } from 'rxjs';
import { filter, map } from 'rxjs/operators';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'Rxtest';
  squareOdd = of(1, 2, 3, 4, 5)
  .pipe(
    filter(n => n % 2 !== 0),
    map(n => n * n)
  );
  squareOdd.subscribe(x => console.log(x));

}

编译后我遇到的错误如下:src / app / app.component.ts(17,3)中的错误:TS2300错误:标识符'squareOdd'重复。src / app / app.component.ts(17,3):错误TS2717:后续属性声明必须具有相同的类型。属性“ squareOdd”的类型必须为“可观察”,但此处的类型为“任何”。src / app / app.component.ts(17,40):错误TS2304:找不到名称“ x”。

超音速

将您的逻辑移至ngOnInit,构造函数方法或根据您的要求的任何自定义方法之类的方法。在任何类原型方法或构造函数方法中添加逻辑。例如,在您的情况下:

import { Component } from '@angular/core';
import { of, pipe } from 'rxjs';
import { filter, map } from 'rxjs/operators';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'Rxtest';
  squareOdd = of(1, 2, 3, 4, 5)
  .pipe(
    filter(n => n % 2 !== 0),
    map(n => n * n)
  );

  ngOnInit() {
    this.squareOdd.subscribe(x => console.log(x));
  }

}

此处,squareOdd定义了实例成员,并在init上创建了预订。

在此处阅读有关ngOnInit的信息

要了解有关Javascript类的更多信息,请阅读此处

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AsyncTask中的可观察者/订阅者

来自分类Dev

具有特定“可观察/订阅者”关系的观察者模式

来自分类Dev

观察者已订阅多个可观察对象尚未完成

来自分类Dev

Rxjs 可观察与观察者“语义”

来自分类Dev

如何使观察者返回可观察状态?

来自分类Dev

可观察/观察者不起作用?

来自分类Dev

从可观察对象复制到观察者

来自分类Dev

观察者模式和有状态的可观察范式

来自分类Dev

建立观察者和可观察类

来自分类Dev

可观察或观察者中的错误处理?

来自分类Dev

AsyncTask中的可观察/订阅者

来自分类Dev

角度2 | 订阅可观察物

来自分类Dev

取代有角度的深度观察者

来自分类Dev

取代有角度的深度观察者

来自分类Dev

具有观察者和可观察者的MVC

来自分类Dev

当我设置可观察者时,mobx反应观察者不会触发

来自分类Dev

订阅另一个可观察的订阅者?

来自分类Dev

无法运行观察者模式示例

来自分类Dev

如果在调用异步函数后调用它,为什么观察者订阅者无法运行?

来自分类Dev

如何在订阅时获取观察者的“当前”值

来自分类Dev

如何在订阅中获得观察者的结果?

来自分类Dev

如何在订阅者中使用多个可观察结果

来自分类Dev

即使没有订阅者也保持可观察的连接

来自分类Dev

合并多个可观察对象并更新现有订阅者?

来自分类Dev

具有地图角度的管道可观察订阅

来自分类Dev

可观察的收益的角度订阅未定义

来自分类Dev

Rx:从具有不同类型的可观察对象创建后续可观察对象(链式观察者)

来自分类Dev

订阅可观察值

来自分类Dev

可观察的过载订阅