小编Neu*_*tra的帖子

使用 Angular Observable 订阅会话存储密钥

我正在尝试实现我所希望的一个简单的“查看会话存储中的键并在它更改时更新它”的场景,但 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

angular rxjs-observables

2
推荐指数
1
解决办法
4280
查看次数

将对象推送到嵌套的 Typescript 数组中,得到错误:无法读取未定义的属性“推送”

我一直在四处寻找试图解决这个问题,但我的代码似乎有点超出标准的“将对象推入数组”。

我有一个接口,它使用另一个接口作为数组键入“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)

arrays typescript angular

-2
推荐指数
1
解决办法
536
查看次数

标签 统计

angular ×2

arrays ×1

rxjs-observables ×1

typescript ×1