[Angular] Saving draft form into Cookies

npm install cookies-js --save

 

复制代码
import {Component, OnInit} from '@angular/core';
import {FormGroup, FormBuilder, Validators} from "@angular/forms";
import * as Cookies from 'cookies-js';

@Component({
    selector: 'create-lesson',
    templateUrl: './create-lesson.component.html',
    styleUrls: ['./create-lesson.component.css']
})
export class CreateLessonComponent implements OnInit {

    private static readonly DRAFT_COOKIE = 'create-lesson-draft';

    form: FormGroup;

    constructor(private fb: FormBuilder) {

        this.form = this.fb.group({
            description: ['',Validators.required],
            url: ['',Validators.required],
            longDescription: ['']
        });

    }

    ngOnInit() {

        const draft = Cookies.get(CreateLessonComponent.DRAFT_COOKIE);

        if (draft) {
            this.form.setValue(JSON.parse(draft));
        }

        this.form.valueChanges
            .filter(() => this.form.valid)
            .do(validValue => Cookies.set(
                CreateLessonComponent.DRAFT_COOKIE,
                JSON.stringify(validValue)) )
            .subscribe();

    }

}
复制代码

 

posted @   Zhentiw  阅读(155)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2018-10-19 [Javascript] Use JavaScript's for-in Loop on Objects with Prototypes
2018-10-19 [Javascript] Understanding the .constructor property on JavaScript Objects
2018-10-19 [Rust] Load a WebAssembly Function Written in Rust and Invoke it from JavaScript
2018-10-19 [Rust] Setup Rust for WebAssembly
2016-10-19 [RxJS] Connection operator: multicast and connect
2016-10-19 [RxJS] AsyncSubject: representing a computation that yields a final value
点击右上角即可分享
微信分享提示