所以我有两个组件 - 根据它们在组件层次结构中的位置,其中一个就像另一个组件的第三个被移除的祖父组件 - 并且我期望在他们。我认为这样做是写一个服务为这样的方式:Angular2在NON父子组件之间传递数据
@Injectable()
export class DataService {
dataChange: EventEmitter<any> = new EventEmitter<any>();
constructor() {}
change(data){
this.dataChange.next(data)
}
}
}
然后订阅它在两个部件,以及打电话的时候,他们正在寻找通过数据的变化功能。看起来,虽然Angular2不喜欢这样,并且只是忽略了通过订阅而来的任何内容。我有控制台登录订阅,他们'订阅'并打开。
我可以通过调用组件本身并使用jQuery或vanilla Javascript来操作DOM,但是我无法在组件本身上设置值,因为Angular2在人们这样做时不喜欢它,并将删除所有订阅。
如何实际上以Angular2方式在两个遥远的组件之间传递数据?
编辑:打开问题在这里: https://github.com/angular/angular/issues/15856