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