【发布时间】:2019-05-17 00:52:22
【问题描述】:
我面临一个问题,即如何在库(角度)中正确地实现可观察对象以成为 api。
库显示一个 div,其中包含一些文本。在库的组件中,我使用一个布尔值来显示 div html 元素。 我想构建一个基于该布尔值的可观察对象,以便向用户公开,以便让他们知道 div 是否显示并执行操作。
在项目内部,我创建了一个在 bolean 上使用 observable 的服务。 在 div 的组件中,我正在导入该服务,当存在布尔值 true 或 false 时,我将值设置为服务的函数。 我正在使用 rxjs(安静好用)..
private Boolean: BehaviorSubject<boolean>;
export class getDivStatus {
public getTheBoolean(): Observable<boolean> {
return this.theBoolean.asObservable();
}
public setTheBoolean(newValue: boolean): void {
this.theBoolean.next(newValue);
}
}
My component
...
import {getDivStatus } from /getDivStatus.service.ts
...
export class divCom implement oninit {
constructor(private divservice: getDivStatus)
ngOnInit() {
booleanDiv = true;
this.divservice.setTheBoolean(true);
if(anotehrcondition) {booleanDiv = false; this.divservice.setTheBoolean(false);}
}
// 构建库并在 Angular 项目中实现它:
app.compoennt.ts
import {librarytotest} from librarytotest;
@compoennt({
...})
export class AppCompoet implements oninit{
ngoninit() {
this.librarytotest.getboolean().subscribe({x => console.log(x)});
}
}
在另一个项目中,在建立库之后,我想订阅这些事件,但我不知道如何实现。 有什么更好的方法或正确的方式来实现呢?
【问题讨论】:
标签: angular typescript promise rxjs observable