我一直在使用Angular并试图找到一种方法来跨整个组件树使用发布/订阅机制。
似乎EventEmitter只能发出一个事件,可以订阅到上一级 - 但不能更多。同样,它只向上树传播事件,而不是向下传播。
相关代码在此: plunker
似乎EventEmitter只能发出一个事件,可以订阅到上一级 - 但不能更多。同样,它只向上树传播事件,而不是向下传播。
相关代码在此: plunker
class App {
onAncestor($event) {
console.log('in ancestor, decendent clicked',$event);
}
}
...
class Entities {
....
onParent($event) {
console.log('in entities parent, child clicked',$event);
}
onGrandParent($event) {
console.log('in grand parent, grandschild clicked',$event);
}
只有onParent被调用,从不调用onGrandparent或onAncestor。 同样,它也不会向下发布。