Skip to content

1. 保存

js
// 1. 保存为json
stage.toJSON().then(json => {
    console.log(json);
});

// 2.将所有资源(图片) 转换为Base64打包内嵌进JSON中
const json = stage.toJSONWithBase64().then(json => {
    console.log(json);
});

// 3. 同上,使用js的新语法 await
let json = await stage.toJSONWithBase64();
console.log(json);

2. 加载

加载会清空当前画面并加载json内容为新的画面。
js
// 情形1
stage.fromJSON(json).then(()=>{
    console.log('已经打开');
});

// 情形2, 同上,使用js的新语法 await
await layer.fromJSON(json);
console.log('已经打开');

//... 继续其他操作

3. 序列化/反序列化指定对象

js
// 将对象转成 '组件' (json格式)
let componentJson = stage.serializerSystem.objectsToComponent([link, toNode]);

// 从json格式的'组件'生成对象(Node或Link)
let objectArr = stage.serializerSystem.componentToObjects(componentJson);
objectArr.forEach(obj => {
    obj.text += '_组件实例';
    obj.y += 60;
});
layer.addChilds(objectArr);

参考:保存加载演示