我正在使用 localStorage 来存储 euler 布局、圆形布局和网格布局,可以在前端选择用户。我能够存储用户选择的不同布局的数据,但无法正确检索它们:
变量片段:
const key_1 = this.graph_layout_type
存储数据的片段:
localStorage.setItem(key_1, JSON.stringify(this.cy.json()))
检索数据的片段:
if (localStorage.hasOwnProperty(key_1)){
this.cy.elements().remove();
this.cy.json({ elements: JSON.parse(localStorage.getItem(key_1)).elements}).layout({
name: 'preset',
positions: undefined,// map of (node id) => (position obj); or function(node){ return somPos; }
zoom: undefined, // the zoom level to set (prob want fit = false if set)
pan: undefined, // the pan level to set (prob want fit = false if set)
fit: true, // whether to fit to viewport
padding: 30, // padding on fit
animate: false, // whether to transition the node positions
animationDuration: 500, // duration of animation in ms if enabled
animationEasing: undefined, // easing of animation if enabled
ready: undefined, // callback on layoutready
stop: undefined // callback on layoutstop
}).run();
}
任何人都可以帮助我应该在预设布局选项的“位置”中放置什么?
我指的资源:
如何使用 cytoscape.js 保存和恢复复合节点的布局
是否可以将 Cytoscape.js 布局数据直接存储为应用程序/Web 服务器中的文件格式并重新启动相同的布局以最大限度地减少重新计算?