宜搭+
    正在准备搜索索引...

    类 Memo

    基于 sessionStorage 的对象状态记忆与差异比较工具。

    Memo 将对象的 JSON 序列化结果持久化到 sessionStorage, 并提供 Memo.compareMemo.update 方法, 用于检测对象是否发生变化以及更新记忆状态。

    26.4.13

    const memo = Memo.of("formState")
    const changed = memo.compare({ name: "Yida" })
    if (changed) {
    memo.update({ name: "Yida" })
    }
    索引

    构造函数

    属性

    方法

    构造函数

    • 创建一个新的 Memo 实例,并立即将对象持久化到 sessionStorage

      参数

      • name: string

        记忆对象的唯一标识名称。

      • object: object

        需要记忆的初始对象。

      返回 Memo

      26.4.13

      Memo.of

    属性

    name: string

    记忆对象的唯一标识名称。

    object: object

    需要记忆的初始对象。

    方法

    • 比较当前记忆对象与新对象的哈希值是否相同。

      通过 Memo.hashCode 分别计算两个对象的哈希值,相等则视为未变化。

      参数

      • newObject: object

        需要比较的新对象。

      返回 boolean

      若两对象哈希值相同返回 true,否则返回 false

      26.4.13

    • 计算指定对象的哈希值。

      默认使用当前记忆的对象进行计算。实现基于 JSON 字符串的循环字符编码; 若对象无法序列化,则返回一个随机的十六进制字符串。

      参数

      • object: object = ...

        需要计算哈希值的对象,默认为当前记忆对象。

      返回 string

      十六进制格式的哈希字符串。

      26.4.13

    • 更新记忆的对象状态,并将新状态同步到 sessionStorage

      参数

      • newObject: object

        需要更新的新对象。

      返回 Memo

      包含新对象状态的 Memo 实例。

      26.4.13

    • 尝试从 sessionStorage 恢复记忆对象;若不存在则创建空对象记忆。

      当缓存内容存在但 JSON 解析失败时,会静默忽略错误并返回一个以空对象 为初始状态的新实例。

      参数

      • name: string

        记忆对象的唯一标识名称。

      返回 Memo

      恢复或新建的 Memo 实例。

      26.4.13

      Memo