【发布时间】:2017-08-26 12:10:36
【问题描述】:
您好,我有两个组件,一个列表组件,一个编辑组件和服务。 我的 Svc 的一部分:
.....
// Observable string sources
private _updatedArray = new Subject<string>();
// Service message commands
setColDefs(columns: any) {
this._updatedArray.next(columns);
console.log(columns);
}
getColDef(): Observable<any> {
return this._updatedArray.asObservable();
}
并在我的列表中调用我的服务,如下所示,
import { Svc } from '../services/mySvc.svc'
.....
this._listCompSvc.setColDefs(columns);
直到这里它的工作完美。我在我的 svc 中设置了列值和 console.log,显示了我想要的列。但是当我获取值(订阅)时,问题出现在编辑组件中。我的编辑组件代码:
import { Svc } from '../services/mySvc.svc';
..
export class EditComponent implements OnInit{
private _colDefs: any;
constructor(
private _editCompSvc: Svc
){}
ngOnInit() {
this._editCompSvc.getColDef().subscribe(
columns => {
console.log(columns);
});
}
....
但不知何故,我的 console.log 进行了编辑,没有显示任何数据。我想按照我在列表组件中设置的方式在此处返回我的列值。有什么想法吗?提前致谢。
模块:
import { NgModule } from '@angular/core';
import { routing } from './routes/myroute.route';
import { Svc } from './services/mySvc.svc'
import { ListComponent } from './actions/list.comp';
import { EditComponent } from './actions/edit.comp';
@NgModule({
imports:
[
routing
],
declarations:
[
ListComponent,
EditComponent
],
providers:
[Svc]
})
export class Module { }
【问题讨论】:
标签: angular typescript rxjs observable