new UIJSONSerializer()
UI 序列化和反序列化器
Example
var serializer = new ht.ui.UIJSONSerializer();
var json = serializer.serialize(borderLayout); // 序列化 borderLayout
var newBorderLayout = serializer.deserialize(json); // 反序列化 json,得到新的 borderLayout
Methods
-
deserialize(json, setDataId) → {ht.ui.View}
-
反序列化组件
Parameters:
Name Type Attributes Description json
any json 数据或对象
setDataId
boolean <optional>
DataModel 中数据是否保留原始 id
-
deserializeProperty(json, name, instance) → {any}
-
反序列化属性值,可重写自定义
Parameters:
Name Type Description json
string 属性值 json
name
string 属性名
instance
any 属性所属的类实例
Returns:
any -反序列化后的属性值
-
isRef(value, name, instance) → {boolean}
-
是否是引用类型;序列化某个类实例时,通过此函数判断是否是引用类型,如果是引用类型将其序列化结果放置到引用块中,可重写自定义
Parameters:
Name Type Description value
any 属性值
name
string 属性名
instance
any 属性所属的类实例
Returns:
boolean -是否是引用类型
-
serialize(view, space) → {string}
-
序列化组件
Parameters:
Name Type Attributes Description view
ht.ui.View 要序列化的组件
space
string | number <optional>
分隔符,同 JSON.stringify 函数中的 space 参数
Returns:
string -json 字符串
-
serializeProperty(value, name, instance) → {any}
-
序列化属性值,可重写自定义
Parameters:
Name Type Description value
any 属性值
name
string 属性名
instance
any 属性所属的类实例
Returns:
any -序列化后的属性值
-
toJSON(view) → {any}
-
序列化组件,返回值为 Object 类型
Parameters:
Name Type Description view
ht.ui.View 要序列化的组件
Returns:
any -json 对象