您好,我正在尝试使用JointJS库执行Hello World应用程序,如下所示:http://www.jointjs.com/tutorial#hello-world

我已经下载了joint.js(1.0.2)joint.css文件,将HelloWorld教程中给定的代码复制为html文件,并通过Chrome浏览器访问了它,但是它无法正常使用,如本教程中所示。


  Console.error:未捕获的TypeError:this.addCell不是函数


HTML是:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="description" content=""/>
<meta name="author" content=""/>
<title>diagram</title>
<link rel="stylesheet" href="node_modules/joint/joint.min.css">

<body>
   <div id="diaHolder">

   </div>

  <script src="node_modules/jquery/dist/jquery.min.js"></script>
  <script src="node_modules/lodash/lodash.min.js"></script>
  <script src="node_modules/backbone/backbone-min.js"></script>
  <script src="node_modules/joint/joint.min.js"></script>
  <script>
   var graph = new joint.dia.Graph;
   var paper = new joint.dia.Paper({
       el: $('#diaHolder'),
       width: 600,
       height: 200,
       model: graph,
       gridSize: 1
   });

   var rect = new joint.shapes.basic.Rect({
       position: { x: 100, y: 30 },
       size: { width: 100, height: 30 },
       attrs: { rect: { fill: 'blue' }, text: { text: 'my box', fill:       'white' } }
   });

   var rect2 = rect.clone();
   rect2.translate(300);

   var link = new joint.dia.Link({
       source: { id: rect.id },
       target: { id: rect2.id }
   });

   graph.addCells([rect, rect2, link]);
 </script>
</body>
</html>

最佳答案

检查依赖版本,特别是Lodash。 JointJS它与4.x版本不兼容

的jQuery:2.2.4
Lodash:3.10.1
骨干:1.3.3

09-28 11:17