我试图了解Finite State Machine
演示的Joint Js lib v-2.2
演示的源代码。我被困在function
以下
function state(x, y, label) {
var cell = new joint.shapes.fsa.State({
position: { x: x, y: y },
size: { width: 60, height: 60 },
attrs: { text : { text: label }}
});
graph.addCell(cell);
return cell;
};
在上面,我试图在官方文档中获取
fsa.State
的以下构造函数的引用,但找不到。var cell = new joint.shapes.fsa.State({..});
任何提示如何运作。
参考链接:
https://resources.jointjs.com/demos/fsa
https://resources.jointjs.com/demos/joint/demo/fsa/src/fsa.js
最佳答案
如果您查看fsa演示示例的源代码,可以在这里找到-https://resources.jointjs.com/demos/joint/demo/fsa/index.html
您会看到,除了joinjs库及其依赖项之外,还添加了一个脚本
<script src="../../plugins/shapes/joint.shapes.fsa.js"></script>
如果您查看它的源代码,则此插件定义了
fsa.State
joint.shapes.basic.Circle.define('fsa.State', {...
fsa.State
不是核心jointjs库的一部分。要使用它,您必须包含此插件。也许因为这个原因,它不是官方文档的一部分。但是您可以在GitHub https://github.com/clientIO/joint/tree/master/dist上找到源代码,其中有一个文件
joint.shapes.fsa.js
。阅读有关在官方文档中定义自己的形状https://resources.jointjs.com/docs/jointjs/v2.2/joint.html#dia.Cell.define的信息。