本文整理匯總了TypeScript中rxjs/Rx.BehaviorSubject類的典型用法代碼示例。如果您正苦於以下問題:TypeScript BehaviorSubject類的具體用法?TypeScript BehaviorSubject怎麽用?TypeScript BehaviorSubject使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了BehaviorSubject類的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: PresentationOnBreakpoint
export function PresentationOnBreakpoint(
breakpoints: {
breakpoint: number;
presentation: GridBodyPresentation
}[]
): BehaviorSubject<GridBodyPresentation> {
function getPresentation() {
var width = window.outerWidth, i = 0;
while (i < breakpoints.length - 1 && breakpoints[i + 1].breakpoint < width) {
i++;
}
return breakpoints[i].presentation;
}
breakpoints.sort((a, b) => a.breakpoint - b.breakpoint);
let subject = new BehaviorSubject<GridBodyPresentation>(getPresentation());
function listener() {
subject.next(getPresentation());
}
subject.next(getPresentation());
window.addEventListener('resize', listener);
return subject;
}
示例2: constructor
constructor(private _data:DataService, private _user:UserService, private _cd:ChangeDetectorRef) {
this.isAuth = new BehaviorSubject(false);
this.privateData = new BehaviorSubject('');
this.isAuth.subscribe(val => this.authStatus = val);
this.privateData.subscribe(val => this.message = val);
}
示例3: constructor
constructor () {
let windowSize$ = new BehaviorSubject(this.newWindowSize());
this.windowObject$ = windowSize$.distinctUntilChanged();
Observable.fromEvent(window, 'resize')
.map(this.newWindowSize)
.subscribe(windowSize$);
}
示例4: it
it('if not passed any rows, does nothing', (done) => {
var selection = new BehaviorSubject<{[key: string]: string}>({});
var doOnce = false;
selection.subscribe(() => {
if (!doOnce) {
doOnce = true;
} else {
done.fail('Changed the selection');
}
});
SelectionUpdateStrategies.SimpleIteration(selection, null, d => d.id);
setTimeout(done);
});
示例5:
this.document.addEventListener("visibilitychange", () => {
if (document.visibilityState === "visible") {
this.detailedFocusSubject.next(DetailedFocusStates.TabFocus);
} else {
this.detailedFocusSubject.next(DetailedFocusStates.TabBlur);
}
});
示例6:
(counties: County[]) => {
if (!this._counties$.getValue().length) {
counties.forEach((county: County) =>
this._counties$.getValue().push(county));
}
this._counties$.next(this._counties$.getValue());
},
示例7:
this.autobahn.onclose((reason, details) => {
log.error(`Connection lost, reason: [${reason}]`)
log.error(`Connection lost, details: [${JSON.stringify(details)}]`)
this.isConnected = false
const disconnectTimerDisposable = this.autoDisconnectDisposable
if (disconnectTimerDisposable) {
disconnectTimerDisposable.unsubscribe()
}
// if we explicitly called close then we move to ConnectionStatus.idle status
if (reason === 'closed') {
this.connectionStatusSubject.next(ConnectionStatus.sessionExpired)
} else {
this.connectionStatusSubject.next(ConnectionStatus.disconnected)
}
})
示例8:
ref.child(key).on('value', snapshot => {
if (snapshot.exists()) {
let model = snapshot.val();
model.$key = snapshot.key;
return model$.next(model);
}
});
示例9:
this._user.auth.onAuthStateChanged(user => {
this.isAuth.next(!!user);
this._cd.detectChanges();
this._data.db.child('/private').on('value', data => {
this.privateData.next(data.val());
this._cd.detectChanges();
}, err => console.log(err));
});