【发布时间】:2018-10-25 16:47:28
【问题描述】:
我是 Angular 的新手,并且一直在开发自己的应用程序以提高我的技能。在此过程中,我遇到了异步管道,但在为自定义类型实现它们时遇到了一些困难。 代码如下:-
header-model.ts
export class HeaderData
{
flag:boolean=false;
loggedInName:string='';
constructor(f,n)
{
this.flag=f;
this.loggedInName=n;
}
}
header-navigation-service.ts:-
export class NavigationService
{
private loggedIn=new BehaviorSubject<HeaderData>(new HeaderData(false,''));
get isLoggedIn()
{
return this.loggedIn.asObservable();
}
login(val:HeaderData)
{
if(val.flag==true)
{
console.log('In service -> '+val);
const val1=new HeaderData(val.flag,val.loggedInName);
this.loggedIn.next(val1);
}
}
}
我有一个登录组件,它检查 UserCredentials 是否有效并在 header-navigation-service 中设置登录方法(flag=true,loggedInName=username)。
header.component.ts:-
showHeader:HeaderData;
ngOnInit() {
this._headerNavigation.isLoggedIn.subscribe((data:HeaderData)=>
{
this.showHeader=data;
});
}
现在我订阅了 isLoggedIn(),但我不想订阅它,因为我没有操作数据,我只想利用 Angular 异步来检索数据并显示在我的视图中。
【问题讨论】:
-
好吧,做吧,如果某些事情没有按您的预期工作,请发布相关代码,准确说明您期望发生什么以及会发生什么。
标签: angular