我正在尝试实现我所希望的一个简单的“查看会话存储中的键并在它更改时更新它”的场景,但 Observables 真的让我失望了。
message$ = new Observable(observer => {
observer.next(window.sessionStorage.getItem('message'));
});
ngOnInit() {
this.message$.subscribe();
}
Run Code Online (Sandbox Code Playgroud)
并且 message$ 绑定到 HTML,非常简单:
<p id="message">{{message$ | async}}</p>
Run Code Online (Sandbox Code Playgroud)
在Observable将输出文本到HTML是否已存在存储在“消息”的价值,但如果有关于初始化没有消息,然后将其添加,或消息值确实存在,更新,没有任何反应。我显然做错了什么,我很感激有知识的人的洞察力Observables。
我一直在四处寻找试图解决这个问题,但我的代码似乎有点超出标准的“将对象推入数组”。
我有一个接口,它使用另一个接口作为数组键入“Year”属性:
export interface IUser {
Nickname: string;
FirstName: string;
LastName: string;
Email: string;
EmergencyContact: string;
EmergencyNumber: string;
Year: Array<IYear>;
IsTeacher: boolean;
IsAdmin: boolean;
Uid: string;
}
export interface IYear {
CalendarYear: string;
PassType: string;
UserItinerary: IItinerary;
WaiverStatus: boolean;
Guests: Array<IGuest>;
SignupDate: string;
}
Run Code Online (Sandbox Code Playgroud)
在某个时候,我将一些 formGroup 数据传递到 IYear 类型属性中:
user: IUser = <IUser>{};
createUser(
firstName: string,
lastName: string,
email: string,
uid: string,
isTeacher: boolean,
passType: string) {
const year: IYear = {
CalendarYear: this.calendarYear,
PassType: passType,
UserItinerary: {} as IItinerary, …Run Code Online (Sandbox Code Playgroud)