可观察不是触发
Observable isnt triggering
本文关键字:观察 更新时间:2023-09-26
我有两个组件应该通过Observable()连接。
首先,我宣布
@Injectable()
export class One{
private changeConfirmed = new Subject<boolean>();
changeConfirmed$ = this.changeConfirmed.asObservable();
public init$: EventEmitter<boolean>;
registerChangeConfirmed(category:boolean){
alert('sending')
this.changeConfirmed.next(category);
}
onMsg(){
this.registerChangeConfirmed(true);
}
}
onMsg
事件绑定到模板
在第二个中
Import { One } from './pat/to/it'
@Component({
providers:[One]
})
export class two{
constructor( private childClass : One ){
this.childClass.changeConfirmed$.subscribe( x => {alert(x)})
}
}
但是,不会发出该事件。但当我在第二类而不是第一类中发出事件时=我包括
this.childClass.registerChangeConfirmed(true)
在第二类中,事件被触发。当我从第一类调用它时,为什么它不起作用?
不要在组件上提供服务One
。这样,每个组件实例都将获得自己的One
实例。如果您在公共父级(AppComponent
)提供它,那么它们将获得一个共享实例。
Angular2DI为每个提供程序维护一个实例(singleton)。
相关文章:
- knockoutjs可观察数组
- 多次发射多个可观察器的问题
- 未激发路由的控制器属性上的观察者
- 无法在关闭弹出窗口时传递可观察的数据
- firefox插件:退出不工作的应用程序观察器
- 如何收集Knockout可观察性以放入JSON
- 在rxjs中巧妙的蒸汽可观察合并
- Knockout observable没有观察到其中一个属性
- 将属性设置为未定义时未通知观察者
- 将js对象更改为使用嵌套的可观察数组敲除js视图模型
- KOValidation在错误消息中获取可观察值、$index()、$data等
- 启用具有多个布尔可观察标志的绑定
- 为什么prototypjs观察到回调函数有绑定
- Ember:当子控制器同时观察到父控制器触发请求的相同属性时
- 检测 DIV 的高度何时变化,而无需轮询或突变观察者
- 财产'catch'在类型'可观察<任意>'
- 在另一个可观察量完成后触发第二个表单提交单击
- 如何使用javascript设置元素旋转和动态观察的动画
- 如何正确处理依赖ViewChild和Angular 2中可观察到的数据的组件上的更改检测
- JavaScript:为什么Addy's观察者模式