在Angular2 Typescript中将数组连接到不带.interval()的Observable

在Angular2 Typescript中将数组连接到不带.interval()的Observable,typescript,angular,rxjs,rxjs5,Typescript,Angular,Rxjs,Rxjs5,有没有一种方法可以在没有“interval()”部分的情况下实现同样的功能 我只想将数组连接到一个可观察的对象,然后更新数组和可观察对象,以观察该数组并做出反应 如果这是一个很好的解决方案,是否有办法将.distinctUntilChanged()实现为这个值,这样如果数据相同,它就不会发出新的值,那么这个“间隔(10)”将不会成为瓶颈 这是普朗克: 从'angular2/core'导入{Component}; 从“rxjs/Rx”导入*作为Rx @组成部分({ 选择器:“a-webapp”,

有没有一种方法可以在没有“interval()”部分的情况下实现同样的功能

我只想将数组连接到一个可观察的对象,然后更新数组和可观察对象,以观察该数组并做出反应

如果这是一个很好的解决方案,是否有办法将.distinctUntilChanged()实现为这个值,这样如果数据相同,它就不会发出新的值,那么这个“间隔(10)”将不会成为瓶颈

这是普朗克:

从'angular2/core'导入{Component};
从“rxjs/Rx”导入*作为Rx
@组成部分({
选择器:“a-webapp”,
模板:`
{{name}}
添加重置
    {{{item|json}
{{data}json} ` }) 导出类AppComponent{ 数据=[“一”、“二”、“三”] 数据$:Rx.可观察; 最新$:Rx.可观察; 构造函数(){} 恩戈尼尼特(){ 此.data$=Rx.Observable.interval(10).concatMap(y=>{ 返回(此数据)的可观测Rx }) this.latest$=Rx.Observable.CombineTest(this.data$,(data)=>{ 返回data.map(d=>{ 返回d+“是一个数字” }) }) } addToArray(){ this.data.push('more number') } resetArray(){ this.data=[“一”、“二”、“三”] } }
“…以及观察阵列并作出反应的可观察对象”

我认为每次数组改变时,最好让可观察对象发出一个新值

就你而言:

export class AppComponent {
  data = ["one", "two", "three"];
  data$: Rx.BehaviorSubject<Array<string>>; // or data$: Rx.Subject<Array<string>>
  latest$: Rx.Observable<Array<string>>;

  constructor() {}

  ngOnInit() {
    this.data$ = new Rx.BehaviorSubject<Array<string>>(this.data);

    this.latest$ = this.data$.map(data => data.map(
      d => "" + d + " is a number"
    ));
  }

  addToArray() {
    this.data.push('more numbers');
    this.data$.next(this.data);
  }

  resetArray() {
    this.data = ["one", "two", "three"];
    this.data$.next(this.data);
  }
}
导出类AppComponent{
数据=[“一”、“二”、“三”];
data$:Rx.BehaviorSubject;//或data$:Rx.Subject
最新$:Rx.可观察;
构造函数(){}
恩戈尼尼特(){
this.data$=新的Rx.BehaviorSubject(this.data);
this.latest$=this.data$.map(data=>data.map(
d=>“+d+”是一个数字
));
}
addToArray(){
这个.data.push('more number');
this.data$.next(this.data);
}
resetArray(){
this.data=[“一”、“二”、“三”];
this.data$.next(this.data);
}
}
“…以及观察阵列并作出反应的可观察对象”

我认为每次数组改变时,最好让可观察对象发出一个新值

就你而言:

export class AppComponent {
  data = ["one", "two", "three"];
  data$: Rx.BehaviorSubject<Array<string>>; // or data$: Rx.Subject<Array<string>>
  latest$: Rx.Observable<Array<string>>;

  constructor() {}

  ngOnInit() {
    this.data$ = new Rx.BehaviorSubject<Array<string>>(this.data);

    this.latest$ = this.data$.map(data => data.map(
      d => "" + d + " is a number"
    ));
  }

  addToArray() {
    this.data.push('more numbers');
    this.data$.next(this.data);
  }

  resetArray() {
    this.data = ["one", "two", "three"];
    this.data$.next(this.data);
  }
}
导出类AppComponent{
数据=[“一”、“二”、“三”];
data$:Rx.BehaviorSubject;//或data$:Rx.Subject
最新$:Rx.可观察;
构造函数(){}
恩戈尼尼特(){
this.data$=新的Rx.BehaviorSubject(this.data);
this.latest$=this.data$.map(data=>data.map(
d=>“+d+”是一个数字
));
}
addToArray(){
这个.data.push('more number');
this.data$.next(this.data);
}
resetArray(){
this.data=[“一”、“二”、“三”];
this.data$.next(this.data);
}
}

将在接下来的24小时内尝试此操作。如果有效,将接受答案;)非常感谢你!很好用!;)你就是那个人!将在未来24小时内尝试此功能。如果有效,将接受答案;)非常感谢你!很好用!;)你就是那个人!