fex-team / kityminder-editor

Powerful Mindmap Editing Tool
GNU General Public License v2.0
3.07k stars 867 forks source link

打开后如何导入初始化数据?(数据导入导出具体如何使用?)有木有例子?谢谢! #155

Closed simcyber closed 9 years ago

simcyber commented 9 years ago

您好,使用中有如下几个问题。

  1. 如何加载初始化数据? 例如,我想实现打开页面后就加载如下的数据,直接添加在示例后面就报错,如果放在click按钮动作里面,加载完毕后点一下按钮就可以, 这个用js如何判断kityminder-editor已经初始化完毕,初始化完毕后执行加载json数据?
var json_str='{"root":{"data":{"id":"azo2qeekrwck","created":1446627733829,"text":"中心主题"},"children":[{"data":{"id":"azo2sjdxfy80","created":1446627901403,"text":"分支主题"},"children":[{"data":{"id":"azo2sjmm068g","created":1446627901927,"text":" "},"children":[]}]}]},"template":"default","theme":"fresh-blue","version":"1.4.23"}';

editor.minder.importJson(JSON.parse(json_str));
  1. 保存json其它格式代码该如何写?我用如下代码写保存json的可以了,但是其它格式的不是很懂怎么写。
    $("#save").click(function(){
        var a =editor.minder.exportJson();
        var b =JSON.stringify(a);
        $.post("save_naotu.php')}",{b:b},function(result){
            alert(result.msg);
         });
    });

谢谢!

zhangbobell commented 9 years ago
  1. 目前我们没有提供一个初始化完毕的事件,不过实现你说的功能有很多种方法,最简单的你可以在 index.html 页面的第 112 行后面加入 minder.importJson 的逻辑,此时 minder 已经初始化完毕。主要的初始化动作在 ui/directives/kityminderEditor.directive.js 里面。如果你想在其他的 directives 中初始化完毕之后导入的操作,可以使用 minder.service.js 里面的 registerEvent
  2. 保存成其他的格式可以参考 minder.exportData 函数,返回的是一个 Promise,示例:
minder.exportData('text').then(function(data) {
    // 这里便是导出的数据 
    console.log(data);
});
simcyber commented 9 years ago

果然是这样,可以了,谢谢!