1 回答
TA贡献1777条经验 获得超10个赞
假设你有一个login service
import { Injector, Injectable } from '@angular/core';
import { Router } from '@angular/router';
import { Subject } from 'rxjs';
@Injectable()
export class LoginService{
public isLogined: boolean;
private changes: Subject<any> = new Subject<any>();
constructor() {
}
isLogined(isLogined: boolean): void {
this.isLogined = isLogined;
this.changes.next(this.isLogined);
}
}
然后在你的页面中
import { Component, Input, Output, EventEmitter, OnInit, OnChanges, OnDestroy } from '@angular/core';
import { Router } from '@angular/router';
import { LoginService } from './login.service';
@Component({
selector: 'myApp',
template: `
<slider *ngIf="this._loginService.isLogined"></slider>
`
})
export class myApp {
constructor(private _loginService: LoginService) {
}
}
将slider的 *ngIf绑定的 loginservice.isLogined 属性。
然后你就可以在登陆成功处,设置 _loginService.isLogined(true);
这样每次当你login成功后,状态就会通知到slider啦。
这里主要用到RxJS的Subject.
有什么问题可以继续提问。
添加回答
举报